【发布时间】:2018-09-24 12:55:27
【问题描述】:
我有一个配置对象如下:
const config = { envs: ['dev', 'test', 'prod'], targets: ['> 2%'] };
目前,typescript 编译器推断此对象的类型为:
type IConfig = { envs: string[], targets: string[] };
这是有道理的,因为我可能会在声明后的某个时候改变这个数组。
我不会改变它,所以我希望它是:
type IConfig = { envs: ['dev', 'test', 'prod'], targets: ['> 2%'] };
有没有办法告诉编译器将config.envs 的类型推断为带有字符串文字的元组类型(无需输入)?
编辑:最好的答案是 90%,但我希望有一种方法可以应用于整个对象而不是每个属性。我在示例中添加了另一个属性以使这一点更清楚。
【问题讨论】:
标签: typescript