参数的解构赋值我加了{headers : 11}怎么没赋值上呢?
来源:2-11 函数的参数
 
			Bruce_Ly
2020-12-12
function ajax(url, {
body = ‘’,
method = ‘GET’,
headers
} = {headers : 11}){
console.log(body,method,headers)
}
ajax(‘http://www.imooc.com’,{ body: ‘body’})
为什么headers打印出来的不是11,这个解构赋值不对吗?
写回答
	1回答
- 
				  谢成 2020-12-12 从这个问题中能看出,应该是对于函数参数并没有真的理解。 { 
 body = ‘’,
 method = ‘GET’,
 headers
 } = {headers : 11}上面这段代码是函数的参数的代码,等号右边相当于是默认值,也就是对于等号左边整个对象的默认值,这个是函数参数的默认值,并不是解构赋值。 比如这样调用: ajax('http://www.imooc.com') ajax不传递第二个参数,就会取默认值 {headers : 11} 00
相似问题
