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
這是爲什麼?
它工作在鉻(56.0.2924.87),你正在運行的瀏覽器? ,你使用的是轉譯器還是節點? –
我沒有得到那個錯誤,但我要做的一件事就是在第一次賦值之後加上一個分號('[a,b] = [1,2];')。 – Pointy
我正在使用節點7.4.0。 – Pointy