ES6补充

作者: wy22 | 来源:发表于2021-12-05 21:14 被阅读0次

    自执行函数

    定义一个自执行函数,函数定义完成后,自己执行一次,函数名可以省略,因为没有任何意义

    注意:要以分号结束,否则可能会影响后面的语句。

    (functionsayHello(){console.log('sayHello');})();

    自执行函数的简写形式

    +functionsayYes(){console.log('sayYes');}();

    自执行函数,也可以直接定义成箭头函数

    (()=>{console.log('aaa');})()

    rest参数

      // 方法的形参前面添加...,就是方法的rest参数

            //...xxx 是函数的rest参数,用于接收剩余的实参,注意:通常情况下rest参数放在最后面

            //rest参数,解决了函数中arguments对象不是数组类型的缺陷

            function fun1(a,b,c,...args){

                console.log(a,b,c);

                console.log(args);

                let arr = args.map(r=>r*2)

                console.log(arr);

                // console.log(arguments);

            }

            fun1(100,200,300)

            fun1(100)

            fun1(10,20,30,40,50,60,70,80)

    // 在定义函数时,可以给参数设置默认值

    展开运算符

      let arr1 = [11,22,33]

            let arr2 = [44,55,66]

            let arr3 = arr1.concat(arr2)

            console.log(arr3);

            // ...在这里就是展开运算符,在这里,展开运算符用于展开数组中的所有成员。

            let arr4 = [...arr1,...arr2]

            console.log(arr4);

            console.log('---------------------------');

            let obj1 = {

                a:100,

                b:200

            }

            let obj2 = {

                c:300,

                d:400,

                a:500

            }

            // ...在这里,用于将对象的所有属性展开,并返回一个全新的对象

            let obj3 = {...obj1,...obj2}

            console.log(obj3);      

    解构赋值

       //定义变量

            let no = 1001

            let name = '周杰伦'

            let age = 30

            let sex = '男'

            //定义对象

            let stu1 = {

                //属性名:属性值

                //这里的属性值是上面定义的变量保存的值

                no:no,

                name:name,

                age:age,

                sex:sex

            }

            console.log(stu1);

            console.log('-----------------');

            //对象的属性名和属性值的标识相同时,可以省略属性值

            let stu2 = {

                // 是no:no的简写

                no,

                name,

                age,

                sex

            }

            console.log(stu2);

            console.log('--------------------------------------');

            let stu3 = {

                username:'周杰伦',

                userage:30,

                usersex:'男',

                car:{

                    carName:'奔驰',

                    carPrice:'100W'

                }

            }

            //过去我们这样写

            // let username = stu3.username

            // let userage = stu3.userage

            let usersex = stu3.usersex

            //现在我们这样写(解构赋值)

            // usersex:usersex2 表示在解构的时候对变量名进行重命名

            let {username,userage,usersex:usersex2} = stu3

            console.log(username,userage,usersex,usersex2);

    相关文章

      网友评论

        本文标题:ES6补充

        本文链接:https://www.haomeiwen.com/subject/fzydxrtx.html