相关疑难解决方法(0)

获取类的函数(方法)

我必须动态获取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)

javascript oop ecmascript-6

61
推荐指数
4
解决办法
4万
查看次数

将ES6类getter设置为可枚举

我有一个带有getter属性的ES6类(用babeljs反编译).我知道默认情况下这些属性不可枚举.但是,我不明白为什么我无法使用可枚举的属性Object.defineProperty

// Declare class
class Person {
  constructor(myName) {
    this.name = myName;
  }

  get greeting() {
    return `Hello, I'm ${this.name}`;
  }
}

// Make enumerable (doesn't work)
Object.defineProperty(Person, 'greeting', {enumerable: true});

// Create an instance and get enumerable properties
var person = new Person('Billy');
var enumerableProperties = Object.keys(person);
// => ['name']
Run Code Online (Sandbox Code Playgroud)

Plunker示例

javascript ecmascript-6 babeljs es2015

25
推荐指数
2
解决办法
8687
查看次数

标签 统计

ecmascript-6 ×2

javascript ×2

babeljs ×1

es2015 ×1

oop ×1