1、string
// 普通字符串、模版字符串
let name: string = "bob";
let sentence: string = `Hello, my name is ${ name }.`
2、number
//支持十進(jìn)制、十六進(jìn)制、二進(jìn)制、八進(jìn)制
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
3、boolean
let isHot:boolean=true
4、數(shù)組
let list:number[]=[1, 2, 3] //類(lèi)型+[]
let list:Array<number>=[1,2,3] //數(shù)組泛型,Array<元素類(lèi)型>:
5、元祖(已知元素類(lèi)型和數(shù)量的數(shù)組)
let x: [string, number];
x = ['hello', 10]; //索引類(lèi)型必須對(duì)上
x= [10,'hello'];//報(bào)錯(cuò)
//當(dāng)訪(fǎng)問(wèn)越界的元素,會(huì)使用聯(lián)合類(lèi)型替代:
x[3] = 'world'; // OK, 字符串可以賦值給(string | number)類(lèi)型
console.log(x[5].toString()); // OK, 'string' 和 'number' 都有 toString
x[6] = true; // Error, 布爾不是(string | number)類(lèi)型
6、枚舉
//默認(rèn)編號(hào)從0開(kāi)始
enum Color {Red, Green, Blue}
let c: Color = Color.Green;
//手動(dòng)設(shè)置編號(hào)
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
//通常表示函數(shù)沒(méi)有返回值
function warnUser(): void {
alert("This is my warning message");
}
//聲明一個(gè)void變量,它的值只能是null或者undefined
let unusable: void = undefined;
9、null和undefined
let u: undefined = undefined;
let n: null = null;
10、Never
// 返回never的函數(shù)返回錯(cuò)誤
function error(message: string): never {
throw new Error(message);
}
// 返回never的函數(shù)必須存在無(wú)法達(dá)到的終點(diǎn)
function infiniteLoop(): never {
while (true) {
}
}
11、斷言
//尖括號(hào)
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;