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中文網其他相關文章!