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