在扩展`Object`时使用`super()`。

16 浏览
0 Comments

在扩展`Object`时使用`super()`。

我正在使用JavaScript创建一个继承了Object的类,并期望在构造该类的新实例时使用super()来初始化键/值对。

class ExtObject extends Object {
  constructor(...args) {
    super(...args);
  }
}
const obj = new Object({foo:'bar'});
console.log(obj); // { foo: 'bar' }
const ext = new ExtObject({foo:'bar'});
console.log(ext); // ExtObject {}
console.log(ext.foo); // undefined

为什么在这个例子中ext上的foo没有被定义为'bar'

编辑

解释: 在继承Object时使用`super()`

解决方案: 在继承Object时使用`super()`

0