gpt4 book ai didi

javascript - 解构赋值和变量交换

转载 作者:搜寻专家 更新时间:2023-10-31 23:32:25 33 4
gpt4 key购买 nike

Javascript 允许交换变量:

var x = 1
var y = 2

[x, y] = [y, x] // y = 1 , x = 2

和解构赋值:

var a, b
[a, b] = [1, 2]

log(a) // 1
log(b) // 2

当使用变量交换代替解构赋值时,尝试交换变量会失败:

var a, b
[a, b] = [1, 2] // a = 1, b = 2

[a, b] = [b, a] // TypeError: Cannot set property '2' of undefined

这是为什么呢?

最佳答案

如果您决定省略分号(没有判断,我也喜欢这样),请不要忘记在以数组字面量开头的行前加上 ;。有时,分号插入确实很重要,因为它可能不会在您想要或期望的时候出现。

var a, b
;[a, b] = [1, 2]

;[a, b] = [b, a]

console.log(a, b)

关于javascript - 解构赋值和变量交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42562806/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com