联合类型(Union Types)可以通过管道(|
)将变量设置多种类型,赋值时可以根据设置的类型来赋值。
注意:只能赋值指定的类型,如果赋值其它类型就会报错。
创建联合类型的语法格式如下:
实例
声明一个联合类型:
1 2 3 4 5 var val :string |number val = 12 console .log ("数字为 " + val) val = "Runoob" console .log ("字符串为 " + val)
将联合类型作为函数参数使用:
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 ("Runoob" ) console .log ("输出数组...." ) disp (["Runoob" ,"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 = ["Runoob" ,"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 = ["Runoob" , "Google" , "Taobao" ]; console .log ("**字符串数组**" );for (i = 0 ; i < arr.length ; i++) { console .log (arr[i]); }