TypeScript 是 javaScript 的超集,TypeScript 经过编译之后都会生成 Javascript 代码。TypeScript 最大的特点就是类型化,因此才叫做 TypeScript。比起弱类型的 JavaScript,类型化的 TypeScript 显得更加容易维护。
在 TypeScript 中一共有 7 种基本类型。
var isDone: boolean = false;
代表 JavaScript 中的数字。在 JavaScript 中,无论是“整数”还是“浮点数”,都是以双精度浮点类型存储的。
var height: number = 6;
代表字符串。跟 JavaScript 一样,可以使用一对双引号(")或一对单引号(')来表示字符串。
var name: string = "bob";name = 'smith';
TypeScript 中有两种数组声明方法。
①使用“[]”来声明:
var list: number[] = [1, 2, 3];
②使用数组类型来声明:
var list: Array<number> = [1, 2, 3];
两种声明方式都可以使用,效果并不会有区别。但建议代码中应尽量只使用其中一种,以保持代码风格统一。
枚举类型是 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。
和 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;
这个类型仅能在函数中使用,可以将函数的返回类型指定为 void,表示该函数不返回任何值。
function warnUser(): void { alert("This is my warning message");}
新闻热点
疑难解答