Heim  >  Artikel  >  Web-Frontend  >  Wie übergebe ich das Root-Objekt bei Verwendung von ES6-Destrukturierungsfunktionsparametern?

Wie übergebe ich das Root-Objekt bei Verwendung von ES6-Destrukturierungsfunktionsparametern?

DDD
DDDOriginal
2024-11-02 03:50:30611Durchsuche

How to Pass the Root Object When Using ES6 Destructuring Function Parameters?

Benennen des Stammobjekts in ES6-Destrukturierungsfunktionsparametern

ES6 bietet Destrukturierung als präzise Möglichkeit, Eigenschaften aus Objekten und Arrays in Variablen zu extrahieren. Allerdings kann es schwierig werden, den Namen des Stammobjekts bei der Destrukturierung von Funktionsargumenten beizubehalten.

ES5-Vererbungsmetapher

In ES5 könnten Sie das gesamte Optionsobjekt übergeben „Up“ die Vererbungskette zu einer übergeordneten Klasse, sodass diese auf alle Parameter zugreifen kann:

// 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-Destrukturierung

Mit der ES6-Destrukturierung wird das Extrahieren spezifischer Parameter einfacher praktisch:

// 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?
};

Optionen: Individuelle Extraktion oder Übergabe von Root-Objekten

Eine Option besteht darin, jede Option einzeln in setupChildClass6() zu extrahieren und sie dann an setupParentClass6 zu übergeben (). Allerdings kann dieser Ansatz mit vielen Parametern ausführlicher werden:

// ugh.
var setupChildClass6b = ({minVal, maxVal, rows, columns}) => {
    rangeSlider.setup(minVal, maxVal);
    setupParentClass6({rows, columns});
};

Verwenden einer temporären Variablen

Eine prägnantere Lösung besteht darin, eine temporäre Variable zum Halten der Wurzel zu verwenden Optionsobjekt, bevor Sie es an setupParentClass6() übergeben:

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

Mit dieser Methode können Sie die spezifischen Parameter, die in setupChildClass6() benötigt werden, zerstören, während Sie weiterhin das gesamte Optionsobjekt an setupParentClass6() übergeben.

Das obige ist der detaillierte Inhalt vonWie übergebe ich das Root-Objekt bei Verwendung von ES6-Destrukturierungsfunktionsparametern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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