[英]Why does `keyof object` return a never type?
為什么keyof object
返回 never 類型?
我認為正確的應該是number | string | symbol
number | string | symbol
type T = keyof object // never
object
類型中沒有任何鍵。 因此,您不會收到您期望的聯合,而只是類型never
代替。
object
類型幾乎與{}
表示相同的東西。 區別在於object
只接受非基元,而{}
接受任何不是null
或undefined
的東西。 (感謝評論中的@jcalz)。 查看{}
似乎很明顯,類型上沒有鍵。 由於沒有 map TypeScript 的鍵,因此只返回類型never
。
請注意, {}
在您的情況下是一種類型,而不是一個值。 你不能/不必做類似的事情
type T = typeof {};
// ~ --> Identifier expected.ts(1003)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.