这里为什么要多写一个{},不然就报错?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,识别不出来,参数中的{name, age = 38}表示对传入的参数进行解构,并不能识别出就是一个对象。

祝学习愉快~

好帮手慕慕子 2020-09-13 18:38:52

同学你好, 因为调用函数时,不传递参数,默认是undefined。示例:

http://img1.sycdn.imooc.com//climg/5f5df630097fc24904090145.jpg

http://img1.sycdn.imooc.com//climg/5f5df63b09214cdd03400104.jpg

{name, age=18}这种写法相当于对传入的参数进行解构,但是undefined无法进行解构会出现报错,所以设置一个默认值,即:空对象{}。

当调用函数不传递参数时,就是对空对象进行解构了,这样就不会出现报错了。

祝学习愉快~

  • 在参数"{name,age}"里面,不是已经有{}了,系统识别不出这是一个对象吗?
    2020-09-15 09:13:03
好帮手慕慕子 2020-09-13 11:12:59

同学你好,如下所示,调用People函数时,没有传递参数,由于没有传递参数,默认是undefined

http://img1.sycdn.imooc.com//climg/5f5d8d66095b383905810151.jpg

在声明函数,对参数进行解构赋值时,如果不设置一个空对象,相当于对undefined进行解构,不符合语法,会出现报错,所以必须要设置一个空对象,防止调用函数时,不传递参数出现报错。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 为什么说申明函数的时候没有设置一个空对象,没是在对undefined解构赋值呢?
    2020-09-13 17:02:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码