Maison  >  Article  >  interface Web  >  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
DDDoriginal
2024-11-04 06:24:29519parcourir

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

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

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);
};

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

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

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!

Déclaration:
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