¿Qué es la asignación desestructurante y sus usos?
He estado leyendo sobre la tarea de desestructuración introducida en ES6.
¿Cuál es el propósito de esta sintaxis, por qué se introdujo y cuáles son algunos ejemplos de cómo podría usarse en la práctica?
¿Qué es la tarea desestructurante?
La sintaxis de asignación de estructuración es una expresión de JavaScript que permite descomprimir valores de matrices o propiedades de objetos en variables distintas.
- De MDN
Ventajas
Hace que el código sea conciso y más legible.
Podemos evitar fácilmente expresiones destructivas repetidas.
Algunos casos de uso
Para obtener valores en variables de Objetos, matriz
Mostrar fragmento de código
Para cambiar solo la propiedad deseada en un objeto
Mostrar fragmento de código
Para extraer valores de parámetros en variables independientes
Mostrar fragmento de código
Para obtener el valor de las claves dinámicas del objeto
Mostrar fragmento de código
Para intercambiar valores
Mostrar fragmento de código
Para obtener un subconjunto de un objeto
subconjunto de un objeto :
Mostrar fragmento de código
Para obtener un subconjunto de un objeto usando el operador de coma y desestructurando :
Mostrar fragmento de código
Para realizar una conversión de matriz a objeto:
Mostrar fragmento de código
Para establecer valores predeterminados en la función. (Lea esta respuesta para obtener más información)
Mostrar fragmento de código
Para obtener propiedades como las
length
de una matriz, nombre de función, número de argumentos, etc.Mostrar fragmento de código
Es algo así como lo que tienes se puede extraer con el mismo nombre de variable.
La tarea de desestructuración es una expresión de JavaScript que permite descomprimir valores de matrices o propiedades de objetos en variables distintas. Obtengamos los valores del mes de una matriz usando la asignación de desestructuración
var [one, two, three] = ['orange', 'mango', 'banana'];
console.log(one); // "orange"
console.log(two); // "mango"
console.log(three); // "banana"
y puede obtener propiedades de usuario de un objeto mediante la asignación de desestructuración,
var {name, age} = {name: 'John', age: 32};
console.log(name); // John
console.log(age); // 32