搜索
复制
登陆购买课程后可参与讨论,去登陆吧
同学你好,对于你的问题解答如下:
1、因为const [x = func()] = [1] 这种写法,解构时,x可以正确匹配到到对应的值1, 此时,x设置的默认值不生效,而js语法中规定的,默认值表达式是惰性的,也就是说默认值没有生效时,不会执行表达式func(), 所以不会输出“我被执行了”
2、当使用const [x = func()] = []这种写法, 数组解构时,x没有匹配到对应的值,使用默认值,此时,才会执行func(),输出“我被执行了”
祝学习愉快~
什么是惰性
惰性就是说解构设置的默认值没有生效时,不会执行默认值表达式,只有默认值生效才回去执行设置的表达式,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
入行前端,是明智的选择!市场需求大,就业前景好,入行门槛低,小白易上手 全新升级:技术更新,Vue3.0/TypeScript/React17.x; 技术更全面,从0基础到全栈开发再到大型项目构建
157 1
75 1
31 2
200 5
155 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星