你的位置:首页 > Java教程

[Java教程]【TypeScript】TypeScript 学习 1——基本类型


TypeScript 是 JavaScript 的超集,TypeScript 经过编译之后都会生成 JavaScript 代码。TypeScript 最大的特点就是类型化,因此才叫做 TypeScript。比起弱类型的 JavaScript,类型化的 TypeScript 显得更加容易维护。

在 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");}