Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie behalte ich den Stammobjektnamen bei der Destrukturierung von Funktionsparametern in ES6 bei?

DDD
Freigeben: 2024-11-04 06:24:29
Original
514 Leute haben es durchsucht

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

ES6-Destrukturierungsfunktionsparameter: Beibehaltung des Stammobjektnamens

In ES6 ermöglicht die Destrukturierung von Funktionsargumenten eine prägnante und ausdrucksstarke Parameterbehandlung. Wenn Sie jedoch mit mehreren Konfigurationsparametern arbeiten, die über eine übergeordnete-untergeordnete Klassenhierarchie verteilt sind, kann der Name des Stammobjekts nach der Destrukturierung verloren gehen.

In ES5 können Sie das Stammobjekt mithilfe der Vererbung in der Hierarchie nach oben weitergeben:

// 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
};
Nach dem Login kopieren

In ES6 mit Destrukturierung wird dies jedoch zu einem Problem:

// 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?
};
Nach dem Login kopieren

Um den Namen des Stammobjekts beizubehalten, können Sie ihn vor der Destrukturierung als Parameter deklarieren:

const setupChildClass6 = options => {
    const {minVal, maxVal} = options;
    rangeSlider.setup(minVal, maxVal);
    setupParentClass6(options);
};
Nach dem Login kopieren

Alternativ können Sie alle Optionen einzeln in setupChildClass6 extrahieren:

var setupChildClass6b = ({minVal, maxVal, rows, columns}) => {
    rangeSlider.setup(minVal, maxVal);
    setupParentClass6({rows, columns});
};
Nach dem Login kopieren

Dieser Ansatz erfordert jedoch mehr Codezeilen und ist möglicherweise nicht optimal, wenn Sie mit mehreren destrukturierten Variablen arbeiten.

Das obige ist der detaillierte Inhalt vonWie behalte ich den Stammobjektnamen bei der Destrukturierung von Funktionsparametern in ES6 bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage