Maison > interface Web > js tutoriel > Une explication de l'utilisation de l'affectation de déstructuration dans ES6

Une explication de l'utilisation de l'affectation de déstructuration dans ES6

不言
Libérer: 2018-11-14 15:45:21
avant
1969 Les gens l'ont consulté

Le contenu de cet article concerne l'utilisation de l'affectation de déstructuration dans ES6. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Aperçu

Pour être honnête, l'affectation de déstructuration est très délicate, surtout lorsqu'elle est utilisée avec d'autres es6, alors comment dire simplement 解构赋值, par exemple : l'affectation de déstructuration est une machine à diviser les pièces, Mettez toutes les pièces de 10 cents, 50 cents et 1 yuan dans la machine à diviser les pièces, elle séparera automatiquement toutes les pièces, sortez simplement ce que vous voulez !

Tableau de déstructuration

Vous pouvez extraire une donnée ou un groupe de données de votre choix d'un tableau

Normal

let [a, b, c]=[1,2,3]
console.log(a) // 1
console.log(b) // 2
console.log(c) // 3
Copier après la connexion

avec le reste paramètres Utilisez

let [a, b, ...c]=[1,2,3,4,5]
console.log(a) // 1
console.log(b) // 2
console.log(c) // [3,4,5]
Copier après la connexion

pour omettre certains paramètres

let [a, , ...c]=[1,2,3,4,5]
console.log(a) // 1
console.log(c) // [3,4,5]
Copier après la connexion

Il n'y a pas assez de paramètres

let [a, b, c]=[1,2]
console.log(a) // 1
console.log(b) // 2
console.log(c) // undefined
Copier après la connexion

Il n'y a pas assez de paramètres et vous ne voulez pasundefined, vous pouvez utiliser les paramètres par défaut

let [a, b, c=3]=[1,2]
console.log(a) // 1
console.log(b) // 2
console.log(c) // 3
Copier après la connexion

Déstructuration et attribution de valeurs aux variables existantes

let a, b
[a, b]=[1,2]
console.log(a, b)// 1,2
Copier après la connexion

Exemple intéressant de déstructuration de tableau

Échange de deux variables

let a=1,b=2
[a, b]=[b, a]
console.log(a) // 2
console.log(b) // 1
Copier après la connexion

Obtention d'un résultat de correspondance régulier

let [,match]="hello world".match(/h(e)/) 
// 匹配的结果是 ["he", "e", index: 0, input: "hello world", groups: undefined]

console.log(match) // 'e'
Copier après la connexion

Objet déconstruit

Vous pouvez retirer une valeur d'attribut de l'objet de l'objet, ou un sous-objet

Normal

let {a, b}={a:1,b:2}
console.log(a) // 1
console.log(b) // 2
Copier après la connexion

Les attributs restants

let {a,...b}={a:1,b:2,c:3}
console.log(a) // 1
console.log(b) // {b:2,c:3}
Copier après la connexion

Attributs insuffisants

let {a, b, c}={a:1,b:2}
console.log(a) // 1
console.log(b) // 2
console.log(c) // undefined
Copier après la connexion

Les attributs insuffisants peuvent utiliser les paramètres par défaut

let {a, b, c=3}={a:1,b:2}
console.log(a) // 1
console.log(b) // 2
console.log(c) // 3
Copier après la connexion

pour attribuer des valeurs à de nouvelles variables

let {a:aa, b:bb}={a:1,b:2}
console.log(aa) // 1
console.log(bb) // 2
Copier après la connexion

De nouvelles variables sont attribuées et des valeurs par défaut sont fournies

let {a:aa, b:bb, c:cc=3}={a:1,b:2}
console.log(aa) // 1
console.log(bb) // 2
console.log(cc) // 3
Copier après la connexion

Les objets profonds peuvent également être déconstruits

let {name, books:[book]}={name:"haha",books:['book1']}
console.log(name) // 'haha'
console.log(book) // 'book1'
Copier après la connexion

Déstructuration en itération

for(let {name} of [{name:1},{name:2}]){
    console.log(name) // 1 2
}
Copier après la connexion

Paramètres de la fonction de déstructuration

let register({name, pwd}){
    console.log(name, pwd)
}
register({name:'1',pwd:'2'}) //1,2
Copier après la connexion

Attribuer une valeur à une variable existante est assez particulier

let a,b
({a, b}={a:1,b:2}) // 需要提升优先级,否则 {a, b} 会被解析成代码块
console.log(a, b)// 1, 2
Copier après la connexion

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!

Étiquettes associées:
source:https://segmentfault.com/a/1190000016988939
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal