我想从TS 3.1中的对象获取具有正确类型文字的正确元组类型:
interface Person {
name: string,
age: number
}
// $ExpectType ['name','age']
type ObjectKeysTuple = ToTuple<keyof Person>
Run Code Online (Sandbox Code Playgroud)
为什么?:
使用时获取正确的字符串文字元组 Object.keys(dictionary)
随着keyof工会的扩大,我无法找到解决方案,这('name' | 'age')[]肯定不是我们想要的。
type ObjectKeysTuple<T extends object> = [...Array<keyof T>]
type Test = ObjectKeysTuple<Person>
// no errors not good
const test: Test = ['age','name','name','name']
Run Code Online (Sandbox Code Playgroud)
有关: