構造化されていない関数の引数の名前を保持する方法はありますか? つまり、ルート オブジェクトの名前ですか?
ES5 では、これを行う可能性があります (要点を説明するための比喩として継承を使用します)。
// ES5:
var setupParentClass5 = function(options) {
textEditor.setup(options.rows, options.columns);
};
var setupChildClass5 = function(options) {
rangeSlider.setup(options.minVal, options.maxVal);
setupParentClass5(options); // <= we pass the options object UP
};
複数の構成パラメーターを保持するために同じoptions
オブジェクトを使用しています。一部のパラメータは親クラスで使用され、一部はサブクラスで使用されます。
ES6 で構造化されていない関数の引数でこれを行う方法はありますか?
// ES6:
var setupParentClass6 = ({rows, columns}) => {
textEditor.setup(rows, columns);
};
var setupChildClass6 = ({minVal, maxVal}) => {
rangeSlider.setup(minVal, maxVal);
setupParentClass6( /* ??? */ ); // how to pass the root options object?
};
setupChildClass6()
または、個別に に渡すことができるように、すべてのオプションを抽出する必要がありますsetupParentClass6()
か?
// ugh.
var setupChildClass6b = ({minVal, maxVal, rows, columns}) => {
rangeSlider.setup(minVal, maxVal);
setupParentClass6({rows, columns});
};