Есть ли способ сохранить имя аргумента разрушенной функции? I.e., имя корневого объекта?Параметр функции деструктуризации ES6 - Именование корневого объекта
В 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});
};
Согласен - это то, что я использовал. Мы все научились использовать es6 намного лучше за последние несколько месяцев! – jbx