当前位置:K88软件开发文章中心编程全书编程全书03 → 文章内容

TypeScript 联合类型

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-14 5:03:15

TypeScript 联合类型联合类型(Union Types)可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值。注意:只能赋值指定的类型,如果赋值其它类型就会报错。创建元组的语法格式如下:Type1|Type2|Type3 实例声明一个联合类型:TypeScriptvar val:string|numberval = 12console.log("数字为 "+ val)val = "Runoob"console.log("字符串为 " + val)编译以上代码,得到以下 JavaScript 代码:JavaScriptvar val;val = 12;console.log("数字为 " + val);val = "Runoob";console.log("字符串为 " + val);输出结果为:数字为 12字符串为 Runoob如果赋值其它类型就会报错:var val:string|number val = true 也可以将联合类型作为函数参数使用:TypeScriptfunction 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"])编译以上代码,得到以下 JavaScript 代码:JavaScriptfunction 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(["Runoob", "Google", "Taobao", "Facebook"]);输出结果为:Runoob输出数组....RunoobGoogleTaobaoFacebook联合类型数组我们也可以将数组声明为联合类型:TypeScriptvar 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 代码:JavaScriptvar 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]);}输出结果为:**数字数组**124**字符串数字**RunoobGoogleTaobao

TypeScript 联合类型