Heim > Artikel > Web-Frontend > Wie übergebe ich das Root-Objekt bei Verwendung von ES6-Destrukturierungsfunktionsparametern?
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!