keyof
類型運算子
keyof
運算子會採用物件類型並產生其金鑰的字串或數字文字聯集。下列類型 P
與 type P = "x" | "y"
類型相同
tsTry
typePoint = {x : number;y : number };typeP = keyofPoint ;
如果類型具有 string
或 number
索引特徵,keyof
會傳回這些類型
tsTry
typeArrayish = { [n : number]: unknown };typeA = keyofArrayish ;typeMapish = { [k : string]: boolean };typeM = keyofMapish ;
請注意在此範例中,M
為 string | number
,這是因為 JavaScript 物件金鑰總是強制轉換為字串,因此 obj[0]
永遠與 obj["0"]
相同。
keyof
類型在與映射類型結合時特別有用,我們稍後會進一步了解。