"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo pasar el objeto raíz cuando se utilizan los parámetros de la función de desestructuración de ES6?

¿Cómo pasar el objeto raíz cuando se utilizan los parámetros de la función de desestructuración de ES6?

Publicado el 2024-12-11
Navegar:683

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

Nombrar el objeto raíz en los parámetros de la función de desestructuración de ES6

ES6 ofrece desestructuración como una forma concisa de extraer propiedades de objetos y matrices en variables. Sin embargo, puede resultar complicado conservar el nombre del objeto raíz al desestructurar los argumentos de la función.

Metáfora de herencia de ES5

En ES5, puede pasar el objeto de opciones completo "subir" la cadena de herencia a una clase principal, permitiéndole acceder a todos los parámetros:

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

Desestructuración de ES6

Con la desestructuración de ES6, extraer parámetros específicos se vuelve más conveniente:

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

Opciones: Extracción individual o paso de objeto raíz

Una opción es extraer cada opción individualmente en setupChildClass6() y luego pasarlas a setupParentClass6(). Sin embargo, este enfoque puede volverse detallado con muchos parámetros:

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

Usar una variable temporal

Una solución más concisa es usar una variable temporal para contener el objeto de opciones raíz antes de pasarlo a setupParentClass6():

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

Este método le permite desestructurar los parámetros específicos necesarios en setupChildClass6(), mientras sigue pasando todo el objeto de opciones a setupParentClass6().

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3