【发布时间】:2021-01-12 06:27:58
【问题描述】:
刚刚在https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types找到以下代码sn-p
type FunctionPropertyNames<T> = {
[K in keyof T]: T[K] extends Function ? K : never;
}[keyof T];
type FunctionProperties<T> = Pick<T, FunctionPropertyNames<T>>;
类型声明后的[keyof T]是什么意思以及它是如何命名的?
另外,[keyof T] 看起来像是在提示编译器,FunctionalPropertyNames 中的键是来自 T 的键,但为什么编译器不能从 [K in keyof T] 推断这一点?
【问题讨论】:
标签: typescript typescript-typings