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});

};

回答:

我本人在太多地方都有“选项”论据。我会选择1行额外的代码。在此示例中不值得,但是在更多行上进行销毁时是一个很好的解决方案。

const setupChildClass6 = options => {

const {minVal, maxVal} = options;

rangeSlider.setup(minVal, maxVal);

setupParentClass6(options);

};

以上是 ES6解构函数参数-命名根对象 的全部内容, 来源链接: utcz.com/qa/428701.html

回到顶部