Heim >Web-Frontend >js-Tutorial >Wie bleibt der ursprüngliche Objektname erhalten, wenn in ES6 destrukturierte Funktionsparameter verwendet werden?

Wie bleibt der ursprüngliche Objektname erhalten, wenn in ES6 destrukturierte Funktionsparameter verwendet werden?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 10:30:031044Durchsuche

How to Preserve the Original Object Name When Using Destructured Function Parameters in ES6?

Beibehalten des Stammobjektnamens in destrukturierten Funktionsparametern von ES6

In ES6 ermöglicht die Destrukturierung von Funktionsparametern eine präzise Extraktion einzelner Objekteigenschaften. Es stellt sich jedoch die Frage, wie der Name des Stammobjekts beibehalten werden kann, wenn nur bestimmte Eigenschaften destrukturiert werden.

Übergabe des Stammobjekts in ES5

In ES5 Objekte können mithilfe der Vererbungsmetapher als Referenz übergeben werden. Beispielsweise nimmt eine „setupParentClass5“-Funktion ein „options“-Objekt und verwendet es, um einen „textEditor“ zu konfigurieren. Eine „setupChildClass5“-Funktion erbt diese Optionen, indem sie „setupParentClass5(options)“ aufruft.

Herausforderungen bei der ES6-Destrukturierung

In ES6 werden destrukturierte Parameter wie „const {rows , columns}“ in „setupParentClass6“ extrahiert nur die spezifischen aufgelisteten Eigenschaften. Dies kann dazu führen, dass auf das Stammobjekt „options“ innerhalb von „setupChildClass6“ nicht zugegriffen werden kann.

Lösung mit einem zusätzlichen Argument

Eine Lösung besteht darin, ein zusätzliches Argument hinzuzufügen, wie in gezeigt :

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

Dieser Ansatz ermöglicht „setupChildClass6“ den Zugriff auf das vollständige „options“-Objekt, einschließlich destrukturierter und nicht destrukturierter Eigenschaften.

Das obige ist der detaillierte Inhalt vonWie bleibt der ursprüngliche Objektname erhalten, wenn in ES6 destrukturierte Funktionsparameter verwendet werden?. 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