- TypeScript 教程
- TypeScript - 主页
- TypeScript - 概述
- TypeScript - 环境设置
- TypeScript - 基本语法
- TypeScript - 类型
- TypeScript - 变量
- TypeScript - 运算符
- TypeScript - 决策
- TypeScript - 循环
- TypeScript - 函数
- TypeScript - 数字
- TypeScript - 字符串
- TypeScript - 数组
- TypeScript - 元组
- TypeScript - 联盟
- TypeScript - 接口
- TypeScript - 类
- TypeScript - 对象
- TypeScript - 命名空间
- TypeScript - 模块
- TypeScript - 环境
- TypeScript 有用资源
- TypeScript - 快速指南
- TypeScript - 有用的资源
- TypeScript - 讨论
TypeScript - 联盟
TypeScript 1.4 使程序能够组合一种或两种类型。联合类型是表达可以是多种类型之一的值的强大方法。使用管道符号 (|) 组合两个或多个数据类型以表示联合类型。换句话说,联合类型被写为由竖线分隔的类型序列。
语法:联合文字
Type1|Type2|Type3
示例:联合类型变量
var val:string|number val = 12 console.log("numeric value of val "+val) val = "This is a string" console.log("string value of val "+val)
在上面的示例中,变量的类型是 union。这意味着变量可以包含数字或字符串作为其值。
编译时,它将生成以下 JavaScript 代码。
//Generated by typescript 1.8.10 var val; val = 12; console.log("numeric value of val " + val); val = "This is a string"; console.log("string value of val " + val);
其输出如下 -
numeric value of val 12 string value of val this is a string
示例:Union 类型和函数参数
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("mark") console.log("Printing names array....") disp(["Mark","Tom","Mary","John"])
函数 disp() 可以接受字符串类型或字符串数组类型的参数。
编译时,它将生成以下 JavaScript 代码。
//Generated by typescript 1.8.10 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("mark"); console.log("Printing names array...."); disp(["Mark", "Tom", "Mary", "John"]);
输出如下 -
Mark Printing names array…. Mark Tom Mary John
联合类型和数组
联合类型还可以应用于数组、属性和接口。下面说明了联合类型与数组的使用。
示例:联合类型和数组
var arr:number[]|string[]; var i:number; arr = [1,2,4] console.log("**numeric array**") for(i = 0;i<arr.length;i++) { console.log(arr[i]) } arr = ["Mumbai","Pune","Delhi"] console.log("**string array**") for(i = 0;i<arr.length;i++) { console.log(arr[i]) }
该程序声明了一个数组。该数组可以表示数字集合或字符串集合。
编译时,它将生成以下 JavaScript 代码。
//Generated by typescript 1.8.10 var arr; var i; arr = [1, 2, 4]; console.log("**numeric array**"); for (i = 0; i < arr.length; i++) { console.log(arr[i]); } arr = ["Mumbai", "Pune", "Delhi"]; console.log("**string array**"); for (i = 0; i < arr.length; i++) { console.log(arr[i]); }
其输出如下 -
**numeric array** 1 2 4 **string array** Mumbai Pune Delhi