布爾值--boolean
let nn:boolean = true;
數(shù)字--number??
// 所有數(shù)字都是浮點(diǎn)數(shù)
let nn: number = 6;
字符串--string
let name: string = 'aa';
let name01: string = `hello ${name}`;
數(shù)組--Array
方式一:直接在基礎(chǔ)類型后加[]
1闰蚕、let list: number[] = [1, 2, 3];? ?let list: string[] = ['a', 'b', 'c'];
方式二:數(shù)組泛型Array<元素類型>
2取劫、let list: Array<number> =?[1, 2, 3];? let list: Array<string> =?['a', 'b', 'c'];
元組
元組類型允許標(biāo)識(shí)一個(gè)已知元素類型和數(shù)量的數(shù)組,各元素的類型可以不同。
let x: [ string, number ];
x = [ 'aa', 10 ]; // right
x = [ 10, 'aa' ]; // error
x[3] = 'bb'; // right? ?
x[3] = 12; // right
x[3] = true; // error? boolean is not string | number
枚舉--enum
默認(rèn)從0開始排序:
enum Color { red, green, yellow };
let c: Color = Color.red; // c = 0;
也可以手動(dòng)寫編號(hào)得湘,后面的依次相加:
enum Color { red = 1, green, yellow };
let c:Color = Color.green; // c = 2;
也可以由枚舉的值得到名字
enum Color { red = 1, green = 3, yellow = 6 };
let coName: string = Color[3]; // coName = 'green'
Any
let notSure: any = 4;
notSure = 'aa'; // right
notSure = true; // right
用于定義不知全部元素類型的數(shù)組:
let notSureList: any[] = [ 1, 'aa', true ];
Void
表示沒有任何類型募狂,函數(shù)沒有返回值時(shí)可使用:
function fun(): void {
? ? console.log(123);
}
定義變量時(shí),只能賦予undefined和null诞帐;
let unaa: void = undefined;? let uubb: void = null;
Null和Undefined
他們本身的類型用處不是很大
let aa: null = null;
let uu: undefined = undefined;
Never
never類型是所有類型的子類型欣尼,可以賦值給任何類型的變量(包括void | null | undefined),反之則不可停蕉。
一般用于總是會(huì)拋出錯(cuò)誤或根本不會(huì)有返回值的函數(shù)愕鼓。
類型斷言
直接告訴編譯器變量的類型,繞過編譯的檢查慧起,有兩種方式
方式一:尖括號(hào)語法
let valueName: any = 'This is string';
let valueLen: number = (<string>valueName).length;
方式二:as語法 (JSX中只能使用as)
let valueName: any = 'This is string';
let valueLen: number = (valueName as string).length;