ES6 解构函数参数:保留根对象名称
在 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); // Pass the options object up };
但是,在使用解构的 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? };
要保留根对象的名称,您可以在解构之前将其声明为参数:
const setupChildClass6 = options => { const {minVal, maxVal} = options; rangeSlider.setup(minVal, maxVal); setupParentClass6(options); };
或者,您可以在 setupChildClass6 中单独提取所有选项:
var setupChildClass6b = ({minVal, maxVal, rows, columns}) => { rangeSlider.setup(minVal, maxVal); setupParentClass6({rows, columns}); };
但是,这种方法需要更多代码行,并且在处理多个解构变量时可能不是最佳选择。
以上是ES6中解构函数参数时如何保留根对象名称?的详细内容。更多信息请关注PHP中文网其他相关文章!