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