ES6解构赋值的默认值

解构赋值允许指定默认值

07121625_beLF.jpg

ES6内部使用严格相等运算符(===),判断一个位置是否有值。所以,如果一个数组成员不严格等于undefined,默认值是不会生效的。

例如:

07121625_BbZK.jpg 

上面代码中,如果一个数组成员是null,默认值就不会生效,因为null不严格等于undefined。

如果默认值是一个表达式,那么这个表达式只有在用到的时候,才会求值。

07121645_jUU5.jpg 

虽然将函数f赋值给变量x,但是因为x能取到值,所以函数f是不会执行的,最后输出的结果是x的值为1.

默认值可以引用解构赋值的其他变量,前提是该变量必须已经声明。

07121645_CCjX.jpg 

最后一个表达式会报错,是因为x用到默认值y时,y还没有声明。

 

转载于:https://my.oschina.net/u/2971691/blog/894213

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值