联合类型(Union Types)可以通过管道|
将变量设置多种类型,赋值时可以根据设置的类型来赋值。
注意 :只能赋值指定的类型,如果赋值其它类型就会报错。
创建联合类型的语法格式如下:
声明联合类型 实例
1 2 3 4 5 var val :string |number val = 12 console .log ("数字为 " + val) val = "Buubiu" console .log ("字符串为 " + val)
编译以上代码得到如下 JavaScript 代码:
1 2 3 4 5 var val;val = 12 ; console .log ("数字为 " + val);val = "Buubiu" ; console .log ("字符串为 " + val);
执行以上 JavaScript 代码,输出结果为:
1 2 var val :string |number val = true
1 2 3 4 5 6 7 8 9 10 11 12 13 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 ("Buubiu" ) console .log ("输出数组...." ) disp (["Buubiu" ,"Google" ,"Taobao" ,"Facebook" ])
编译以上代码得到如下 JavaScript 代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 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 ("Buubiu" );console .log ("输出数组...." );disp (["Buubiu" , "Google" , "Taobao" , "Facebook" ]);
执行以上 JavaScript 代码,输出结果为:
1 2 3 4 5 6 Buubiu 输出数组.... Buubiu Google Taobao Facebook
联合类型数组 我们也可以将数组声明为联合类型:
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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 = ["Buubiu" ,"Google" ,"Taobao" ] console .log ("**字符串数组**" ) for (i = 0 ;i<arr.length ;i++) { console .log (arr[i]) }
编译以上代码得到如下 JavaScript 代码:
1 2 3 4 5 6 7 8 9 10 11 12 var arr;var i;arr = [1 , 2 , 4 ]; console .log ("**数字数组**" );for (i = 0 ; i < arr.length ; i++) { console .log (arr[i]); } arr = ["Buubiu" , "Google" , "Taobao" ]; console .log ("**字符串数组**" );for (i = 0 ; i < arr.length ; i++) { console .log (arr[i]); }
执行以上 JavaScript 代码,输出结果为:
1 2 3 4 5 6 7 8 **数字数组** 1 2 4 **字符串数组** Buubiu Google Taobao