Quel est le rôle de l'affectation de déstructuration dans es6

青灯夜游
Libérer: 2022-05-19 13:56:14
original
2148 Les gens l'ont consulté

Fonction : 1. Échangez les valeurs de deux variables, la syntaxe "[x,y] = [y,x];" 2. Décomposez la chaîne et passez les caractères dans la variable, la syntaxe "[variable list]=string" ; 3. Renvoie plusieurs valeurs de la fonction, la syntaxe est "[variable list] = function"; 4. Extrayez les données json, la syntaxe est "{variable list} = json variable" et ainsi de suite .

Quel est le rôle de l'affectation de déstructuration dans es6

L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.

es6 affectation de déstructuration

es6 permet d'extraire des valeurs de tableaux ou d'objets et d'attribuer des valeurs à des variables selon un certain modèle, appelé affectation de déstructuration.

L'affectation de déstructuration est simple et facile à comprendre dans l'écriture de code, avec une sémantique claire, ce qui facilite l'obtention de champs de données dans des objets complexes.

Modèle de déstructuration

Dans la déstructuration, la source de la déstructuration est située sur le côté droit de l'expression d'affectation de déstructuration, et la cible de la déstructuration est sur le côté gauche de l'expression de déstructuration.

Le rôle de l'affectation déstructurante

1. Échangez les valeurs des variables x, y

Utilisez l'affectation déstructurante pour échanger les valeurs de deux variables sans utiliser une troisième variable

    let x = 1;
    let y = 2;
    console.log('x:'+x, 'y:'+y);   //x:1 y:2
    //结构赋值  
    [x,y] = [y,x];
    console.log('x:'+x, 'y:'+y);   //x:2 y:1
Copier après la connexion

2. Décomposez une chaîne, transmettez les caractères dans la variable

var [a,b,c,d,e] = "hello";
console.log(a); // h
console.log(b); // e
console.log(c); // l
console.log(d); // l
console.log(e); // o
Copier après la connexion

3. Renvoyez plusieurs valeurs de la fonction

//La fonction ne peut renvoyer qu'une seule valeur. Si vous souhaitez renvoyer plusieurs valeurs, mettez-les. dans un tableau ou un objet et renvoyez-les.

  function example(){
        //返回一个数组
        return [1,2,3]
    }
    let [a,b,c]= example();
    console.log('a:'+a,'b:'+b,'c:'+c);  //a:1 b:2 c:3
    
    
    function example2(){
        //返回一个对象
        return {
            name:'kang+',
            age:20
        }
    }
    let {name,age} = example2();
    console.log('name:'+name,'age:'+age);  //name:kang+ age:20
Copier après la connexion

4. Définition des paramètres de fonction

 //参数是一组有次序的值
         function f([x,y,z]){
             console.log('x:'+x);
             console.log('y:'+y);
             console.log('z:'+z);
         }

         f([1,2,3]);


        //参数是一组没有次序的值
         function f({x,y,z}){
             console.log('x:'+x);
             console.log('y:'+y);
             console.log('z:'+z);
         }
         f({z:3, x:2, y:1});
Copier après la connexion

5. Extraire les données json (doit être utilisé dans le développement du projet)

    let jsonData = {
        number:01,
        status:'200',
         data:[{person:'kang+',age:20}]

     }
    // 获取json数据

     let {number,status,data,data:[{person,age}]} = jsonData;
     console.log('number:'+number);   //number:1
     console.log('status:'+status);   //status:200 
     console.log(data)                // [{…}]
     console.log('person:'+person);   //person:kang+
     console.log('age:'+age);         //age:20
Copier après la connexion

6. pas utile) Large)

   function Person(name,age,school = 'xiyou'){
         this.name = name;
         this.age = age;
        this.school = school;
     }
     var son = new Person('kang+',20);
     console.log(son)   // {name: "kang+", age: 20, school: "xiyou"}
Copier après la connexion

7. Parcourez la structure de la carte

 Map 结构原生支持 Iterator接口,配合变量的解构赋值获取键名和键值就非常方便。    var map = new Map();
    map.set('name','kang+');
    map.set('age','20');

    for(let [key, value] of map){
        console.log(key + ' is ' + value);
    }
    name is kang+
    age is 20

    获取键名    var map = new Map();
    map.set('name','kang+');
    map.set('age','20');
    for(let [key] of map){
        console.log(key);    //name   age
    }

    // 获取键值
    var map = new Map();
    map.set('name','kang+');
    map.set('age','20');
    for(let [,value] of map){
        console.log(value);   // kang+    20
    }
Copier après la connexion

[Recommandations associées : tutoriel vidéo javascript, front-end web]

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:
es6
source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!