【发布时间】:2017-08-14 11:11:03
【问题描述】:
我想动态定义接口的对象键,其中键名来自变量。
有什么办法吗?
const key1 = 'hello';
const key2 = 'world';
interface MyInterface {
[key1]: {};
[key2]: string;
}
const myObject: MyInterface = {
[key1]: {
something: 'something',
},
[key2]: 'some other things'
}
我目前收到以下错误:
接口中的计算属性名称必须直接引用内置符号
谢谢。
【问题讨论】:
-
变量值直到运行时才知道/评估。接口是编译器/静态类型检查器的纯静态信息。如果没有某种不存在的特殊“静态 Typescript 变量”,这将无法真正起作用。你为什么首先想要这个?
标签: typescript