„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie übergebe ich das Root-Objekt bei Verwendung von ES6-Destrukturierungsfunktionsparametern?

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

Veröffentlicht am 11.12.2024
Durchsuche:825

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

Benennen des Stammobjekts in ES6 Destrukturieren von Funktionsparametern

ES6 bietet Destrukturierung als präzise Möglichkeit, Eigenschaften von Objekten und Arrays in Variablen zu extrahieren. Allerdings kann es schwierig werden, den Namen des Stammobjekts beim Destrukturieren 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 bestimmter Parameter bequemer:

// 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 Stammobjektübergabe

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ührlich 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 zu verwenden, um das Root-Optionsobjekt zu speichern, bevor es an setupParentClass6() übergeben wird:

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 und gleichzeitig das gesamte Optionsobjekt an setupParentClass6() übergeben.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3