1.概述
TypeScript是由C#语言之父Anders Hejlsberg主导开发的一门编程语言。它本质上是向 JavaScript语言添加了一些花样,如可选的靜态类型和基于类的面向对象编程。同时也支持诸如接口、命名空间、装饰器等特性,它相当于JavaScript的超集。
1.基本类型
布尔 boolean
let b : boolean = true;
b = 1 ; // 报错
数字 nubmer
数字都是浮点型。TypeScript同时支持二进制、八进制、十进制和十六进制。
let n : number = 0b1010; // 二
let n : number = 0o744; // 八
let n : number = 6; // 十
let n : number = 0xf00d; // 十六
字符串类型 string
可以使用' " 三种字符来定义字符串,其中反引号(
)来定义多行文本和动态字符串(要使用${ exp })。
let name: string = "Li";
let words: string = `${ name }, Hello`; // Li, Hello
数组类型 array
let students: string[] = ["Li", "Zhang"];
let students: Array<string> = ["Li", "Zhang"]; // 数组泛型
元组类型 tuple
数组中随意使用各种类型。
let x: [string, number];
x = ['Hi', 10]; // OK
x = [10, 'Hi']; // 报错
枚举类型 enum
enum MySize { Large, Small };
let c: MySize = Small;
console.log(c); // 1
任意值 any
let x: any = 1;
x = "Hi";
null 和 undefined
如果在TypeScript中启用严格的空校验(--strictNullChecks)特性,null 和 undefined就只能赋值给本身。
// 启用strictNullChecks
let a: number;
let b: number || undefined || null;
a = null; // Error
b = null; // OK
void类型
一般指函数没有返回值。
never类型
一般指无法执行到终点(死循环)或者抛出异常了。
let x: never = (()=> { throw new Error("e"); })();
function it(): never {
while(true) {}
}