共用体型(Union Types)は、パイプ(|)によって変数を異なる型に設定し、設定された型に従って値を割り当てることができます。
ヒント:指定した型のみを割り当てることができます。他の型を割り当てると、エラーが報告されます。
共用体型を作成するための構文は次のとおりです。
Type1|Type2|Type3
実例
共用体型を宣言します。
var val:string|number
val = 12
console.log("数字:"+ val)
val = "Ceodata"
console.log("文字列:" + val)
上記のコードをコンパイルして、次のJavaScriptコードを取得します。
var val;
val = 12;
console.log("数字:" + val);
val = "Ceodata";
console.log("文字列: " + val);
出力結果は次のとおりです。
数字: 12
文字列: Ceodata
他の型を割り当てると、エラーが報告されます。
var val:string|number
val = true
共用体型を関数のパラメータとして使用することもできます。
function disp(name:string|string[]) {
if(typeof name == "string") {
console.log(name)
} else {
var i;
for(i = 0;i<name.length;i++) {
console.log(name[i])
}
}
}
disp("Runoob")
console.log("配列を出力します....")
disp(["Ceodata","Google","Yahoo","Facebook"])
上記のコードをコンパイルして、次のJavaScriptコードを取得します。
function disp(name) {
if (typeof name == "string") {
console.log(name);
}
else {
var i;
for (i = 0; i < name.length; i++) {
console.log(name[i]);
}
}
}
disp("Runoob");
console.log("出力結果は次のとおりです");
disp(["Ceodata", "Google", "Yahoo", "Facebook"]);
出力結果は次のとおりです。
Ceodata
配列を出力します....
Ceodata
Google
Yahoo
Facebook
共用体型配列
配列を共用体型として宣言することもできます。
var arr:number[]|string[];
var i:number;
arr = [1,2,4]
console.log("**数字の配列**")
for(i = 0;i<arr.length;i++) {
console.log(arr[i])
}
arr = ["Ceodata","Google","Yahoo"]
console.log("**文字列配列**")
for(i = 0;i<arr.length;i++) {
console.log(arr[i])
}
上記のコードをコンパイルして、次のJavaScriptコードを取得します。
var arr;
var i;
arr = [1, 2, 4];
console.log("**数字の配列**");
for (i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
arr = ["Ceodata", "Google", "Yahoo"];
console.log("**文字列配列**");
for (i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
出力結果は次のとおりです。
**数字の配列**
1
2
4
**文字列配列**
Ceodata
Google
Yahoo
コメントを残す