Maison > interface Web > js tutoriel > Comment conserver le nom de l'objet racine lors de la déstructuration des paramètres de fonction dans ES6 ?

Comment conserver le nom de l'objet racine lors de la déstructuration des paramètres de fonction dans ES6 ?

DDD
Libérer: 2024-11-04 06:24:29
original
577 Les gens l'ont consulté

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

Paramètre de la fonction de déstructuration ES6 : préserver le nom de l'objet racine

Dans ES6, les arguments de la fonction de déstructuration permettent une gestion concise et expressive des paramètres. Cependant, lorsque vous travaillez avec plusieurs paramètres de configuration répartis dans une hiérarchie de classes parent-enfant, le nom de l'objet racine peut être perdu après la déstructuration.

Dans ES5, vous pouvez transmettre l'objet racine dans la hiérarchie en utilisant l'héritage :

// 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
};
Copier après la connexion

Cependant, dans ES6 utilisant la déstructuration, cela devient un problème :

// 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?
};
Copier après la connexion

Pour conserver le nom de l'objet racine, vous pouvez le déclarer en tant que paramètre avant la déstructuration :

const setupChildClass6 = options => {
    const {minVal, maxVal} = options;
    rangeSlider.setup(minVal, maxVal);
    setupParentClass6(options);
};
Copier après la connexion

Vous pouvez également extraire toutes les options individuellement dans setupChildClass6 :

var setupChildClass6b = ({minVal, maxVal, rows, columns}) => {
    rangeSlider.setup(minVal, maxVal);
    setupParentClass6({rows, columns});
};
Copier après la connexion

Cependant, cette approche nécessite plus de lignes de code et peut ne pas être optimale lorsqu'il s'agit de plusieurs variables déstructurées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal