【发布时间】:2017-01-08 19:44:22
【问题描述】:
我有一个类,它接受一个对象,我想将他的属性设置为实例的 this:
class Test {
constructor(config) {
for(let field in config) {
this[field] = config[field];
}
}
}
const test = new Test({name: "JOHN", age: 13});
配置对象是动态的,可以是任何属性;有什么方法可以让我在启动后获得 Intellisense?
例如,现在当我输入 test 和 dot 时,我想获取 Intellisense,因为配置对象属性是该类的成员。
【问题讨论】:
-
为什么要这样做?为什么不将配置作为类的成员?
-
这是一个复杂的答案。我只需要这样做。
-
好吧,由于您提供的信息有限,答案是不,您将无法获得类型信息(对于 Intellisense )。如果您需要帮助,您需要解释您的问题/场景。
-
我刚刚在问题中解释了。我想为实例动态添加属性。
-
如果您事先不知道属性,那么您希望获得什么类型的信息?如果您在编写代码时知道它们,那么它们就不是动态的。您需要做出决定,或者再一次:更好地解释您的问题/场景。
标签: javascript typescript casting