参数的解构赋值我加了{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
相似问题