Skip to content

Latest commit

 

History

History
78 lines (56 loc) · 1.46 KB

04-affectation-destructuree.md

File metadata and controls

78 lines (56 loc) · 1.46 KB

Affectation destructurée

L'affectation destructurée est un raccourci permettant d'affecter des variables à partir d'objets.

// soit un objet p1
let p1 = {  nom: 'Robert', prenom: 'Julien' };

// extraction des valeurs de l'objet p1
// dans des variables *nomPersonne* et *prenomPersonne*.
let {
    nom: nomPersonne,
    prenom: prenomPersonne
} = p1;

console.log(nomPersonne); // Robert
console.log(prenomPersonne); // Julien

Si les variables portent les mêmes noms que les propriétés, il est possible de faire plus concis.

let p1 = {
    nom: 'Robert',
    prenom: 'Julien'
};

let { nom, prenom } = p1;

console.log(nom); // Robert
console.log(prenom); // Julien

Pour récupérer les valeurs des objets imbriqués.

let p1 = {
    nom: 'Robert',
    prenom: 'Julien',
    adresse : {
        numero : 2,
        rue: 'Angular',
        ville: 'Nantes'
    }
};

let { adresse: { ville } } = p1;

console.log(ville); // Nantes
console.log(adresse); // ReferenceError: adresse is not defined

L'affectation destructurée fonctionne aussi avec des tableaux.

let tab = [10,20,30,40,50];
let [maValeur, maSecondeValeur] = tab;

console.log(maValeur); // 10
console.log(maSecondeValeur); // 20

Combiné avec le raccourci de création d’objet, cela donne :

function buildPersonne() {
    let nom = 'Robert';
    let prenom = "Julien";
    return { nom, prenom };
}

let { prenom } = buildPersonne();

console.log(prenom); // Julien