例如,我们如何仅提取具有字符串类型的键? Here is what I have tried:
type StringEntriesOnly<T> = { [K in keyof T]: T[K] extends string ? T[K] : never; } type SomeType = { aString: string; aNumber: number; } const v1: StringEntriesOnly<SomeType> = { aString: 'Hello', aNumber: 10, // This is a compiler error. Good. } type StringKeys = keyof StringEntriesOnly<SomeType>; const v2: StringKeys = 'aNumber'; // How can we make the compiler complain here?
在上面的示例中,我希望
StringKeys
仅允许'aString'。
例如,我们如何仅提取具有字符串类型的键?这是我尝试过的方法:类型StringEntriesOnly
我通常这样定义KeysMatching