这两个打印的结果为什么不一样?
来源:5-1 函数扩展之默认参数
芥子1204
2019-04-27 17:22:20
function person({name="cc",age=5} = {name:"jj",age:18}){
console.log(name,age);//cc 5
}
person({});
//
//
const {name1="cc",age1=5} = {name1:"jj",age1:18};
console.log(name1,age1);//jj 18
1回答
同学你好, 因为在函数里面使用解构赋值传参的时候, 会将前面的作为默认值,只有调用函数什么都不传的时候才会打印后面的结果。 你这里调用person的时候, 传了一个空对象, 所以函数里面打印结果是cc 5, 示例:可以尝试调用person()查看打印的结果
第二个就是简单的结构赋值, 所以打印的是后面的结果, 示例:
如果帮助到了你,欢迎采纳
祝学习愉快~~~
相似问题