在 TypeScript 中一共有 7 种基本类型。
1、boolean
复制代码 代码如下:
var isDone: boolean = false;
2、number
代表 JavaScript 中的数字。在 JavaScript 中,无论是“整数”还是“浮点数”,都是以双精度浮点类型存储的。
复制代码 代码如下:
var height: number = 6;
3、string
代表字符串。跟 JavaScript 一样,可以使用一对双引号(")或一对单引号(')来表示字符串。
复制代码 代码如下:
var name: string = "bob";
name = 'smith';
4、array
TypeScript 中有两种数组声明方法。
①使用“[]”来声明:
复制代码 代码如下:
var list: number[] = [1, 2, 3];
②使用数组类型来声明:
复制代码 代码如下:
var list: Array<number> = [1, 2, 3];
两种声明方式都可以使用,效果并不会有区别。但建议代码中应尽量只使用其中一种,以保持代码风格统一。
5、enum
枚举类型是 TypeScript 中新添加的,而 JavaScript 中是没有这个类型的。
复制代码 代码如下:
enum Color {
Red,
Green,
Blue
};
var c: Color = Color.Green;
跟 C# 一样,如果不声明第一项的值,那么上面 Red 的值就是 0,然后每一项都增加一,即 Green 是 1,Blue 是 2。
复制代码 代码如下:
enum Color {
Red = 1,
Green,
Blue
};
var c: Color = Color.Green;
所以此时 Red 的值为 1,Green 为 2,Blue 为 3。
当然也可以为每一项都指定一个值。
复制代码 代码如下:
enum Color {
Red = 1,
Green = 2,
Blue = 4
};
var c: Color = Color.Green;
另外枚举类型还有一个比较特殊的功能,假如我们有一个数值,但是我们不知道枚举类型中是否有定义,可以用以下方式来获取:
复制代码 代码如下:
enum Color {
Red = 1,
Green,
Blue
};
var colorName: string = Color[2];
alert(colorName);
colorName = Color[4];
alert(colorName);
那么将会输出 Green 和 undefined。因为 Green 的值是 2,而没有一个枚举定义的值是 4,所以返回 undefined。
6、any
和 JavaScript 中变量的默认类型一样,指代是动态的,能够赋予任意类型。例如:
复制代码 代码如下:
var notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean
定义为 any 后,将失去语法感知的功能,就相当于写 JavaScript 一样。
值得一提的是,any 可以配合数组来使用:
复制代码 代码如下:
var list: any[] = [1, true, "free"];
list[1] = 100;
7、void
这个类型仅能在函数中使用,可以将函数的返回类型指定为 void,表示该函数不返回任何值。
复制代码 代码如下:
function warnUser(): void {
alert("This is my warning message");
}