小编TAG*_*ves的帖子

是否可以在ES6继承的类中调用超级setter?

我想知道以下是否符合ES6规范:

class X {
  constructor(name) {
    this._name = name;
  }

  get name() {
    return this._name;
  }

  set name(name) {
    this._name = name + "X";
  }
}

class Y extends X {
  constructor(name) {
    super(name);
  }

  set name(name) {
    super.name = name;
    this._name += "Y";
  }
}
Run Code Online (Sandbox Code Playgroud)

这个想法let y = new Y(""); y.name = "hi"应该y.name === "hiXY"是真实的.

据我所知,这在启用了ES6标志的Chrome中无效.它也不能使用Babel与es2015旗帜.是用super.name = ...在继承二传手不是ES6规范的一部分?或者这是Babel实施中的一个错误?

javascript ecmascript-6 babeljs es2015

18
推荐指数
1
解决办法
4828
查看次数

标签 统计

babeljs ×1

ecmascript-6 ×1

es2015 ×1

javascript ×1