Ejemplo spread y destructuring


// tenemos un array con un nombre y apellido
let arr = ["John", "Smith"]

// asignación desestructurante
// fija firstName = arr[0]
// y surname = arr[1]
let [firstName, surname] = arr;
/*
let firstName=arr[0];
let surname=arr[1];
*/
console.log(firstName)
console.log(surname)
console.log(arr)

// segundo elemento no es necesario
let [nombre, , title] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
console.log(nombre)
console.log(title)

let aa = 2;
let b = 7;

/*
let c=a;
a=b;
b=c;
*/
// swap de variables usando destructuring
[aa, b] = [b, aa]

console.log(aa);

let user = {
    name: "John",
    age: 30
};

// recorrer claves-y-valores con destructuring
for (let [key, value] of Object.entries(user)) {
    console.log(`${key}:${value}`); // name:John, luego age:30
}

let [name1, name2, ...rest] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];

console.log(rest);

// valores predeterminados
let [name = "Guest", apellido = "Anonymous"] = ["Julius"];

let options = {
    titulo: "Menu",
    width: 100,
    height: 200
};

let { width, titulo, height } = options;

console.log(titulo)

let prueba = { a: 1, b: 2, c: 3, d: 4 };

let { a, ...resto } = prueba;

console.log(resto)

showMenu(options);

showMenu();

function showMenu({ titulo = "Untitled", width = 200, height = 100, items = [] } = {}) {
    console.log(titulo)
}

https://es.javascript.info/destructuring-assignment

https://dev.to/codingnninja/a-simple-guide-to-javascript-destructuring-3o8o

https://davidwalsh.name/spread-operator

https://codeburst.io/a-simple-guide-to-destructuring-and-es6-spread-operator-e02212af5831

https://gist.github.com/mikaelbr/9900818

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos