ルックを渡す:ES6は、以下の例では、コンストラクタにオブジェクトと設定プロパティ
class Parent {
constructor({ parentOnlyArg = 'default value' } = {}) {
this.parentOnlyArg = parentOnlyArg;
}
}
class Child extends Parent {
// this class and also any class inheriting from it
constructor({ visibleStyle = 'inline' } = {}) {
// I want to pass argument to super as an object
super(/** args **/);
this.visibleStyle = visibleStyle;
}
}
class Child2 extends Parent {
// Specifying parentOnlyArg as default will change the behaviour
constructor({ parentOnlyArg = 'another parent value',
someOther = 'value' } = {}) {
// I want to pass argument to super as an object
super(/** args **/);
this.someOther = someOther;
}
}
それがスーパーにコンストラクタの引数に渡すことは可能ですか?
は私が
super(...arguments);
を考えていたよりも、それは単純だったように私は、クイック勝利arguments
オブジェクトを使用することです
var c1 = new Child(); // c.parentOnlyArg = 'default value'
var c2 = new Child2(); // c.parentOnlyArg = 'another parent value'
var c3 = new Child({ parentOnlyArg: 'changed again' }); // c.parentOnlyArg = 'changed again'
なぜ[MCVE] '<>'スニペットエディタを使用して投稿しませんか? – mplungjan
'super({parentOnlyArg})? – Bergi
あなたの関数の本体に破壊を移さない理由は何ですか?次に、渡す変数への参照があります。 – loganfsmyth