我必须动态获取ES6类的属性和功能.这甚至可能吗?
使用for ... in循环,我只能循环遍历类实例的属性:
class Foo {
constructor() {
this.bar = "hi";
}
someFunc() {
console.log(this.bar);
}
}
var foo = new Foo();
for (var idx in foo) {
console.log(idx);
}
Run Code Online (Sandbox Code Playgroud)
输出:
bar
Run Code Online (Sandbox Code Playgroud) 有没有办法在TypeScript中获取类的属性名称:在示例中,我想"描述"类A或任何类并获取其属性的数组(可能只是公共的?),是否可能?或者我应该首先实例化对象?
class A {
private a1;
private a2;
/** Getters and Setters */
}
class Describer<E> {
toBeDescribed:E ;
describe(): Array<string> {
/**
* Do something with 'toBeDescribed'
*/
return ['a1', 'a2']; //<- Example
}
}
let describer = new Describer<A>();
let x= describer.describe();
/** x should be ['a1', 'a2'] */
Run Code Online (Sandbox Code Playgroud)