Maison  >  Article  >  interface Web  >  Comment transmettre l'objet racine lors de l'utilisation des paramètres de la fonction de déstructuration ES6 ?

Comment transmettre l'objet racine lors de l'utilisation des paramètres de la fonction de déstructuration ES6 ?

DDD
DDDoriginal
2024-11-02 03:50:30611parcourir

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

Nommer l'objet racine dans les paramètres de la fonction de déstructuration ES6

ES6 propose la déstructuration comme un moyen concis d'extraire les propriétés des objets et des tableaux en variables. Cependant, il peut devenir difficile de conserver le nom de l'objet racine lors de la déstructuration des arguments de fonction.

Métaphore de l'héritage ES5

Dans ES5, vous pouvez transmettre l'intégralité de l'objet options "monter" la chaîne d'héritage jusqu'à une classe parent, lui permettant d'accéder à tous les paramètres :

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

Déstructuration ES6

Avec la déstructuration ES6, l'extraction de paramètres spécifiques devient plus pratique :

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

Options : extraction individuelle ou passage d'objet racine

Une option consiste à extraire chaque option individuellement dans setupChildClass6(), puis à les transmettre à setupParentClass6 (). Cependant, cette approche peut devenir verbeuse avec de nombreux paramètres :

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

Utiliser une variable temporaire

Une solution plus concise consiste à utiliser une variable temporaire pour contenir la racine objet options avant de le transmettre à setupParentClass6() :

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

Cette méthode vous permet de déstructurer les paramètres spécifiques nécessaires dans setupChildClass6(), tout en transmettant l'intégralité de l'objet options à setupParentClass6().

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
Article précédent:Fonction - Défis JavaScriptArticle suivant:Fonction - Défis JavaScript