typescript 基礎類型 02
//枚舉類型 對JavaScript標準數據類型的一個補充 你也可以手動的指定成員的數值 枚舉類型提供的一個便利是你可以由枚舉的值得到它的名字。
//例如,我們知道數值為2,但是不確定它映射到Color里的哪個名字,我們可以查找相應的名字:
enum x{
up=1,
down,
left,
right
}
let where = x.down;
let where2=x[2];
//any類型 任意值類型 可以為還不清楚類型的變量指定一個類型
let a:any='5454'
a=555
a=[1,2,3];
//void ;類型 兩個值undefined null
//某種程度上來說,void類型像是與any類型相反,它表示沒有任何類型。 當一個函數沒有返回值時,你通常會見到其返回值類型是void:
let not:void=undefined;
let not2:void=null;
//Null 和 Undefined類型
//TypeScript里,undefined和null兩者各自有自己的類型分別叫做undefined和null。 和void相似,它們的本身的類型用處不是很大:
let u:undefined=undefined;
let n:null=null;
//--strictNullChecks標記 可以檢測數據類型 void null,undefined
//never類型表示的是那些永不存在的值的類型。
//例如,never類型是那些總是會拋出異常或根本就不會有返回值的函數表達式或箭頭函數表達式的返回值類型; 變量也可能是never類型,當它們被永不為真的類型保護所約束時。
// 返回never的函數必須存在無法達到的終點
function error(message: string): never {
throw new Error(message);
}
// 推斷的返回值類型為never
function fail() {
return error("Something failed");
}
// 返回never的函數必須存在無法達到的終點
function infiniteLoop(): never {
while (true) {
}
}
//類型斷言
//有時候你會遇到這樣的情況,你會比TypeScript更了解某個值的詳細信息。 通常這會發生在你清楚地知道一個實體具有比它現有類型更確切的類型。
let num:any='every day';
//第一種寫法 尖括號寫法
let num1:number=(<string>num).length
//第二種寫法 as
let num2:number=(num as string).length;
浙公網安備 33010602011771號