[英]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.