首頁 > web前端 > js教程 > 主體

ES6中解構函數參數時如何保留根物件名稱?

DDD
發布: 2024-11-04 06:24:29
原創
516 人瀏覽過

How to Preserve the Root Object Name When Destructuring Function Parameters in ES6?

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板