ES6 解构赋值用途

1.交换变量的值
2.从函数返回多个值
3.函数参数的定义
4.提取json数据
5.函数参数的默认值
6.遍历Map结构
7.输入模块的指定方法


 
1.交换变量的值
        // es5
        console.log("es5");
        var a = 100;
        var b = 200;
        var temp;
        temp = a;
        a = b;
        b = temp;
        console.log(a, b)

        // es6
        console.log("es6")
        var x = 1000,
            y = 2000;
        [x, y] = [y, x];
        console.log(x, y)
/* es6 解构赋值用途二 从函数返回多个值 */
 /* es6 解构赋值用途二  从函数返回多个值 */
        // es5 
        function fun() {
            return [1, 2, 3]; // 返回多个值必须返回一个对象或数组
            // return {
            //     x: 2,
            //     y: 3
            // }
        };
        // es6
        var [x, y, z] = fun();
        console.log(x, y, z); // 1 2 3
        // 对象
        // es5 
        function fun1() {
            return {
                id: 2,
                name: 'zasdasd'
            }
        };
        // es6
        var {
            id,
            name
        } = fun1();
        console.log(id, name); //2 "zasdasd"
        var {
            id: newId,
            name: newName
        } = fun1();
        console.log(newId, newName); //2 "zasdasd"

  

3.函数参数的定义

<script>
        // 参数是一组有次序的值 如数组
        function fun([x, y, z]) {
            //x=1
            //y=2
            //z=6
            console.log(x, y, z)
        };
        fun([2, 4, 6]);

        // 参数是一组无次序的值 如对象
        function bun({
            x,
            y,
            name
        }) {
            console.log(x, y, name)
        }
        bun({
            x: 200,
            name: "asd",
            y: 2
        });
    </script>

  

4.提取json数据

 var jsonDate = {
            id: 7,
            name: "sad",
            age: 99,
            img: {
                pic1: 'asd',
                pic2: 'sss'
            }
        };
        console.log(jsonDate);
        let {
            id: num,
            name,
            age,
            img: xxx
        } = jsonDate
        console.log(num, name, age, xxx.pic1)

  

 
 
原文地址:https://www.cnblogs.com/xzma/p/8005005.html