# 89-获取必填属性键值
# 题目描述
实现高级 util 类型RequiredKeys<T>
,该类型返回 由 T 中所有必需属性的键组成的一个联合类型。
例如
type Result = RequiredKeys<{ foo: number; bar?: string }>;
// expected to be “foo”
# 分析
之前已经讨论过获取必填属性,那么这题只需要把属性值取出来即可。送分题啦。
# 题解
type RequiredKeys<T> = keyof {
[P in keyof T as T[P] extends Required<T>[P] ? P : never]: any;
};
# 知识点
- keyof
← 58-获取可选属性 90-获取可选属性键值 →