es--对象字面量的增强与函数参数的默认值

一、对象字面量的增强

1.对象字面量是什么

        const person = {

            age:18,

            name:'zhangsan'

        }

  以上就是所谓的字面量表示法

 

2.属性和方法的简洁表示方法

a.属性的简洁表示法:

当键名和值名一样时,可以只写一个

            const person = {

                //age:age

                age

            }

 

b.方法的简洁表示法:

方法可以省略冒号和function关键字

        const person = {

            speak(){}

        }

 

3.方括号语法

方括号语法的用法

原方法:

        const prop = 'age';

        const person={};

        person[prop]=18;

 

现方法

        const prop='age';

        const person = {

            [prop]:18

        };

 

a.方括号中可以放什么

值或者通过计算可以得到值的表达式

        const prop = 'age';

        const func = ()=>'age2';

        const person = {

            [prop]:18,

            [func()]:18,

            ['sex']:'male',

            ['s'+'ex']:'female'

        } 

 

方括号语法和点语法的区别:

  •  点语法是方括号语法的特殊形式
  • 属性名由数字、字母、下划线以及$构成,并且数字还不能开头时可以使用点语法(合法标识符)
  • 当你的属性或方法名是合法标识符时,可以使用点语法,其他情况下使用方括号语法

 

二、函数参数的默认值

 1.函数参数的默认值是什么

调用函数时传参了,就用传递的参数;如果没有传参,就用默认值

 multiply(2,1);

multiply(2);

 

2.函数参数的基本用法

原方法:

        const = multiply=>(a,b){

           if(typeof==='undefined'){

               b=1;

           }

           return a*b;

        }

        multiply(2);

        multiply(2,1);

 

现方法:

        const = multiply=>(a,b=5) a*b;

        multiply(2);

        multiply(2,1);

 

3.函数参数默认值的注意事项

默认值的生效条件

        不传参数,或者明确的传递undefined作为参数,只有这两种情况下,默认值才生效

        const = multiply=>(a,b=5) a*b;

        multiply(2);        

 

默认值表达式

        如果默认值是表达式,默认值表达式是惰性求值的


 

设置默认值的小技巧

        函数参数的默认值,最好从参数列表的右边开始设置

        const = multiply=>(a,b=5) a*b;

        multiply(2);

 

        const = multiply=>(a=5,b) a*b;

        multiply(undefined,2);//此时的undefined无法省略

 

 4.函数参数默认值的应用

<script>
//接收很多参数时
    const logUser = ({
            username = 'zhangsan',
            age = 0,
            sex = 'male'
        } = {}) => {
            console.log(username, age, sex);
        }

        logUser();
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白小白从不日白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值