这里为什么要多写一个{},不然就报错?
来源:5-1 函数扩展之默认参数
weixin_慕前端6235132
2020-09-12 21:42:47
3回答
同学你好,识别不出来,参数中的{name, age = 38}表示对传入的参数进行解构,并不能识别出就是一个对象。
祝学习愉快~
好帮手慕慕子
2020-09-13
同学你好, 因为调用函数时,不传递参数,默认是undefined。示例:
{name, age=18}这种写法相当于对传入的参数进行解构,但是undefined无法进行解构会出现报错,所以设置一个默认值,即:空对象{}。
当调用函数不传递参数时,就是对空对象进行解构了,这样就不会出现报错了。
祝学习愉快~
好帮手慕慕子
2020-09-13
同学你好,如下所示,调用People函数时,没有传递参数,由于没有传递参数,默认是undefined
在声明函数,对参数进行解构赋值时,如果不设置一个空对象,相当于对undefined进行解构,不符合语法,会出现报错,所以必须要设置一个空对象,防止调用函数时,不传递参数出现报错。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题