簡體   English   中英

解構賦值和變量交換

[英]Destructuring assignment and variable swapping

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) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM