ES6扩展——函数扩展之默认参数

1、函数的默认参数

            //函数的默认参数
            function add(a, b = 999){
                console.log(a,b);   //1 999
            }
            add(1);   

 

2、

函数的形参可以设置默认值,默认值可以与前一个参数进行相加等运算,但不能和自身或后一个参数进行运算,否则报错;
            //参数b后面不能出现b后面的变量或b本身,会报错
            function add1(a, b = 999 + a){
                console.log(a, b);  //1 1000
            }
            add1(1);

 

3、将函数的默认值&解构赋值结合起来时:

1、没有默认值且什么都不传,则返回undefined;
2、有默认值且什么都不传,则返回默认值
3、有默认值且传入相应的值,则返回传入的值
4、默认值两边写哪一边都是没有太大的关系的
            //将函数的默认值&解构赋值结合起来
            //给需要解构赋值的对象一个默认值,即空对象
            function People({ name, age = 38} = {}){
                console.log(name, age);  //undefined 38
            };
            //直接调用People,什么参数都不传,其中有默认值的就会保留在这个空对象中
            People();
            
//在空对象中给默认值name:1 function People1({name, age = 38} = {name : 1}){ console.log(name,age); //1 38 } People1();
//在调用时给实参name:3 function People2({name,age = 38} = { name :1}){ console.log(name,age); //3 38 } People2({name:3});

 

posted @ 2020-06-16 00:50  是桂  阅读(133)  评论(0编辑  收藏  举报