打字稿中的 Pick<T, "properties"> 和 T["properties"] 有什么不同

dan*_*nte 3 typescript

我是打字稿初学者。

Pick和 T["properties"] 索引引用有什么区别?

例如:

interface Generic {
   red: number
   apple: string;
   
}

type RedType = Pick<Generic, "red">
type RedType2 = Generic["red"]
Run Code Online (Sandbox Code Playgroud)

小智 5

第一个示例仅选择对象的某些属性并返回对象类型

type RedType = Pick<Generic, 'red'>; // { red: number }
Run Code Online (Sandbox Code Playgroud)

第二个示例给出了对象上引用的属性的类型

type RedType2 = Generic["red"]; // number
Run Code Online (Sandbox Code Playgroud)