1、string
// 普通字符串、模版字符串
let name: string = "bob";
let sentence: string = `Hello, my name is ${ name }.`
2、number
//支持十进制、十六进制、二进制、八进制
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
3、boolean
let isHot:boolean=true
4、数组
let list:number[]=[1, 2, 3] //类型+[]
let list:Array<number>=[1,2,3] //数组泛型,Array<元素类型>:
5、元祖(已知元素类型和数量的数组)
let x: [string, number];
x = ['hello', 10]; //索引类型必须对上
x= [10,'hello'];//报错
//当访问越界的元素,会使用联合类型替代:
x[3] = 'world'; // OK, 字符串可以赋值给(string | number)类型
console.log(x[5].toString()); // OK, 'string' 和 'number' 都有 toString
x[6] = true; // Error, 布尔不是(string | number)类型
6、枚举
//默认编号从0开始
enum Color {Red, Green, Blue}
let c: Color = Color.Green;
//手动设置编号
enum Color {Red = 1, Green = 2, Blue = 4}
let c: Color = Color.Green;
//由枚举的值得到它的名字
enum Color {Red = 1, Green, Blue}
let colorName: string = Color[2];
console.log(colorName) //Green
7、any
let notSure: any = 4;
let list: any[] = [1, true, "free"];
list[1] = 100;
8、void
//通常表示函数没有返回值
function warnUser(): void {
alert("This is my warning message");
}
//声明一个void变量,它的值只能是null或者undefined
let unusable: void = undefined;
9、null和undefined
let u: undefined = undefined;
let n: null = null;
10、Never
// 返回never的函数返回错误
function error(message: string): never {
throw new Error(message);
}
// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
while (true) {
}
}
11、断言
//尖括号
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;
网友评论