使用typescript 2.1和keyof类型,可以反过来做 - 您可以使用必要的键定义对象,并使用以下方法获取所有键的联合类型keyof
:
let categoryKeys = {foo: '', bar: '', baz: '', xyzzy: ''}; // values do not matter type category = keyof typeof categoryKeys; let x: category = 'foo'; // ok let z: category = 'z'; // error TS2322: Type '"z"' is not assignable // to type '"foo" | "bar" | "baz" | "xyzzy"'. console.log(Object.keys(categoryKeys)); // prints [ 'foo', 'bar', 'baz', 'xyzzy' ]