我想知道以下是否符合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实施中的一个错误?