在TypeScript中如何要求参数为特定的字符串值?
例如:
const obj = {
a: 1,
b: 2,
c: 3,
};
interface Props {
x: Object.keys(obj); // instead of 'a' | 'b' | 'c'
}
const foo = (x: Props) => console.log(x);
答案 0 :(得分:0)
您可以使用typeof
运算符首先获取obj
的类型,然后使用keyof
运算符获取对象的键("a" | "b" | "c"
)。
const obj = {
a: 1,
b: 2,
c: 3
};
interface Props {
x: keyof typeof obj;
}
const foo = (x: Props) => console.log(x);