【发布时间】:2021-12-22 19:20:23
【问题描述】:
比如我有一个接口:
interface Foo {
name: string;
id: number;
}
我只想要string 类型的键。我设法将id 的类型更改为never,并从Foo 获取所有密钥。但是id 仍然是一个有效的密钥,只是类型为never。
const bar: keyof Partial<{ [K in keyof Foo ]: Foo [K] extends string ? Foo [K] : never }> = 'id';
我如何从Foo 获取类型为string 的密钥?
我想要的是:
const bar: FooStringKeys = 'name'; // ok
const bar: FooStringKeys = 'id; // error
【问题讨论】:
-
它对你有用吗tsplay.dev/m3az3w ?
标签: typescript types interface key