Keyof 類型運算子

keyof 類型運算子

keyof 運算子會採用物件類型並產生其金鑰的字串或數字文字聯集。下列類型 Ptype P = "x" | "y" 類型相同

ts
type Point = { x: number; y: number };
type P = keyof Point;
type P = keyof Point
Try

如果類型具有 stringnumber 索引特徵,keyof 會傳回這些類型

ts
type Arrayish = { [n: number]: unknown };
type A = keyof Arrayish;
type A = number
 
type Mapish = { [k: string]: boolean };
type M = keyof Mapish;
type M = string | number
Try

請注意在此範例中,Mstring | number,這是因為 JavaScript 物件金鑰總是強制轉換為字串,因此 obj[0] 永遠與 obj["0"] 相同。

keyof 類型在與映射類型結合時特別有用,我們稍後會進一步了解。

TypeScript 文件是一個開放原始碼專案。協助我們改善這些頁面 透過傳送 Pull Request

此頁面的貢獻者
OTOrta Therox (3)
RMRoman Mahotskyi (1)
MMMasashi Miyazaki (1)
Ssuica (1)

最後更新:2024 年 3 月 21 日