老师,问题请看注释
//在调用时给实参name:3
function People2({name,age = 38} = { name :1}){ //age=38是解构赋值时的默认值吗?name:1也是是要解构的对象的默认值?那如果等号右边的花括号里面也有age=20的话,调用函数时没有传入实参,是等号哪边的默认参数值生效呢?
console.log(name,age); //3 38
}
People2({name:3});
28
收起
正在回答
2回答
同学你好,可以这样理解:
左侧定义的是对象是参数,里面定义的name,age相当于一个变量,那么变量赋值使用的是等号。而右侧是参数的值,那么这个值是一个对象,对象中的属性和属性值本身就需要使用冒号隔开。这就和我们平时定义对象一样,例如如下:
当为这个对象解构赋值时,左侧对象中,定义的是变量,变量设置值就是用等号。
但是你把对象中属性值和属性名使用等号隔开,语法就不对了:
如下语法不对
其他的地方没有了,理解了这一块就行。
祝学习愉快~
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星