我们都知道在
JavaScript
中有5中简单数据类型(也称为基本数据类型):Undefined
、Null
、Boolean
、Number
和String
。还有1中复杂的数据类型——Object
,Object
本质上是由一组无序的名值对组成的。其中
Undefined
、Null
、Boolean
、Number
都属于基本类型。Object
、Array
和Function
则属于引用类型TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。
TypeScript 类型
字符串 string
可以使用双引号( "
)或单引号('
)表示字符串
let name: string = "LiMing";
// name = "LiMing";
布尔值 boolean
最基本的数据类型就是简单的true/false值
let enable: boolean = true;
let disable: boolean = false;
// enable = true;
// disable = false;
数字 number
TypeScript里的所有数字都是浮点数,和JavaScript一样。
TypeScript支持二进制、八进制、十进制、十六进制的字面量。
let binaryLiteral: number = 10011100010000; // 二进制
let octalLiteral: number = 23420; // 八进制
let decLiteral: number = 10000; // 十进制
let hexLiteral: number = 2710; // 十六进制
数组
TypeScript有两种方式可以定义数组。 第一种,可以在元素类型后面接上 []
,表示由此类型元素组成的一个数组:
let arr: string[] = ["LiMing", "Danny", "Jenny"];
第二种方式是使用数组泛型,Array<元素类型>
:
let arr: Array<string> = ["LiMing", "Danny", "Jenny"];
元组 Tuple
元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为 string
和Boolean
类型的元组。
// Declare a tuple type
let a: [string, Boolean];
// Initialize it // 初始化
a = ['LiMing', false]; // OK
// Initialize it incorrectly // 初始化错误
a = ['LiMing', 'false']; // Error
枚举 enum
枚举类型是对JavaScript标准数据类型的一个补充。
像C#
等其它语言一样,使用枚举类型可以为一组数值赋予友好的名字。
enum Name {LiMing, Danny, Jenny}
let x: Name = Name.LiMing;
默认情况下,从0
开始为元素编号。 你也可以手动的指定成员的数值。 例如,我们将上面的例子改成从 1
开始编号:
enum Name {LiMing = 1, Danny, Jenny}
let x: Name = Name.LiMing;
我们也可以全部手动来控制它
enum Name {LiMing = 1, Danny = 2, Jenny}
let x: Name = Name.LiMing;
类型断言
- 类型断言有两种形式。 其一是“尖括号”语法:
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
- 另一个为
as
语法:
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;