2 回答

TA贡献1911条经验 获得超7个赞
header0
在你的参数列表中是一个参数,一个局部变量,就像a
是一个参数:
function test(a) { }
就像您不能a
在该函数之外按名称引用一样,您test
也不能用您的代码和header0
. 因此,如果您使用 调用您的函数 header0 =
,您实际上是在定义一个全局变量header0
并在现场为其分配一个值。在严格模式下会产生错误。它与参数无关header0
。
该参数header0
将从您作为headers
属性值传递的数组的第一个元素中获取其值。如果您作为参数传递的对象没有该headers
属性,或者该属性没有定义不同于 的第一个数组元素undefined
,则局部headers0
变量将获得默认值。
不要将此变量与后跟冒号的属性名称混淆,后者也出现在您的参数部分:headers:
. 这不是一个变量,而只是定义了变量的位置,headers0
并且otherHeaders
在调用函数时应该获取它们的值。但headers
它本身并不是一个变量。
url
另一方面是一个变量。它从具有相同名称的属性中获取其值。注意没有冒号。这使它成为一个变量(参数)。
解构中使用的语法可能非常混乱。例如,如果不是url,
you would have url: url2
,那么不是定义 variable url
,而是定义 variable url2
——仍然是url
属性在传递给函数的对象中的值。

TA贡献1841条经验 获得超3个赞
我认为您应该尝试使用对象来解决您的问题以引用数组索引。但是,如果您真正想要的是拥有一个返回函数中第一个值的数组,您可以尝试按如下方式排列数组。
const defaulHeader = ["Content-Type: text/plain"]
const otherHeaders = ["Some-type: application/json"]
const headers = [
...defaulHeader,
...otherHeaders
]
console.log(headers)
添加回答
举报