TypeScript 联合类型

TypeScript 教程 · 2019-04-03 17:19:27

联合类型(Union Types)可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值。

注意:只能赋值指定的类型,如果赋值其它类型就会报错。

创建元组的语法格式如下:

Type1|Type2|Type3 

实例

声明一个联合类型:

TypeScript

var val:string|number val = 12 console.log("数字为 "+ val) val = "Codercto" console.log("字符串为 " + val)

编译以上代码,得到以下 JavaScript 代码:

JavaScript

var val; val = 12; console.log("数字为 " + val); val = "Codercto"; console.log("字符串为 " + val);

输出结果为:

数字为 12
字符串为 Codercto

如果赋值其它类型就会报错:

var val:string|number 
val = true 

也可以将联合类型作为函数参数使用:

TypeScript

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("Codercto") console.log("输出数组....") disp(["Codercto","Google","Taobao","Facebook"])

编译以上代码,得到以下 JavaScript 代码:

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("Codercto"); console.log("输出数组...."); disp(["Codercto", "Google", "Taobao", "Facebook"]);

输出结果为:

Codercto
输出数组....
Codercto
Google
Taobao
Facebook

联合类型数组

我们也可以将数组声明为联合类型:

TypeScript

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 = ["Codercto","Google","Taobao"] console.log("**字符串数字**") for(i = 0;i<arr.length;i++) { console.log(arr[i]) }

编译以上代码,得到以下 JavaScript 代码:

JavaScript

var arr; var i; arr = [1, 2, 4]; console.log("**数字数组**"); for (i = 0; i < arr.length; i++) { console.log(arr[i]); } arr = ["Codercto", "Google", "Taobao"]; console.log("**字符串数字**"); for (i = 0; i < arr.length; i++) { console.log(arr[i]); }

输出结果为:

**数字数组**
1
2
4
**字符串数字**
Codercto
Google
Taobao

点击查看所有 TypeScript 教程 文章: https://www.codercto.com/courses/l/40.html

查看所有标签

Approximation Algorithms

Approximation Algorithms

Vijay V. Vazirani / Springer / 2001-07-02 / USD 54.95

'This book covers the dominant theoretical approaches to the approximate solution of hard combinatorial optimization and enumeration problems. It contains elegant combinatorial theory, useful and inte......一起来看看 《Approximation Algorithms》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器