我有一个类,它接受一个我想将其属性设置为实例的 this 的对象:
class Test {
constructor(config) {
for(let field in config) {
this[field] = config[field];
}
}
}
const test = new Test({name: "JOHN", age: 13});
配置对象是动态的,可以是任何属性;有一种方法,我可以在启动后获得智能感知?
例如,现在当我输入test和dot时,我希望得到Intellisense,因为配置对象属性是该类的成员。
答案 0 :(得分:1)
我认为你能得到的最接近的是具有通用属性的泛型类
class Test<T> {
constructor(public config: T) { }
}
interface Person {
name: string;
age: number;
}
const test = new Test<Person>({ name: "JOHN", age: 13 });
test.config.name
见
类型不会改变你的代码,它们只是设计时的工件。类型只会“蒸发”#34;在编译时,所以TypeScript无法为智能感知提供在运行时发生的事情。