# 交換變數的值
var x = 10, y = 1;
[x, y] = [y, x]
console.log(x,y) // 1,10
# 從函式返回多個值
function example()
var [a,b,c]=example();
# 函式引數的定義
function f()
f()# 提取json資料
var jsondata =
let =jsondata;
# 遍歷map結構
var [a,b,c]=[1,2,3]
console.log(a) //
1let [head,...tail]=[1,2,3,4]
console.log(tail) // [2,3,4]
# 解構不完全時
let [x,y,...z]=['a']
x //
"a"y //
undefined
z //
# 解構不成功時
let [foo]=
foo //
undefined
# 解構預設值
let [foo=1]=[2]
foo //
2# 解構預設值生效的條件是 等號右邊的值 嚴格等於undefined
let [foo = true] =
console.log(foo) //
true
let [f1 = 1] = [undefined]
console.log(f1) //
1let [f2=2]=[null]
console.log(f2) //
null 預設值不生效
let [f3 = 3] = ['']
console.log(f3) //
'' 預設值不生效
# 基本使用
var =;
foo // aaa
baz // undefined
# 賦值機制
var =
baz // aaa
# 字串解構
const [a,b,c,d,e] = 'hello';
a // h
# 陣列和布林值解構
let =123; // 數值有tostring方法,所以能解構
s===number.prototype.tostring
# 基本使用
function
add([x, y])
console.log(add([1, 3])) // 傳入陣列引數時,add函式會對引數對應解構
# 預設值
function
add(={})
console.log(add())
es6變數解構賦值
es6允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構。解構賦值在實際開發中可以大量減少我們的 量,並且讓我們的程式結構更清晰。陣列的解構賦值 let a,b 1 2 console.log a 1 console.log b 2 上面的 表示,可以從陣列中提取值,按照位置的物件...
ES6變數解構賦值
es6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 es6之前我們申明多個變數需要按照下面的方法 let l a 1 let b 2 let c 3 let d 4 或者 let a 1,b 2,c 3,d 4 現在我們可以更加簡便 let a,b,c,d 1,2,3,4 ...
es6 變數解構賦值
1.陣列的解構賦值 等號兩邊的模式相同,左邊的變數就會被賦予對應的值 預設值 undefined型別只有乙個值,即undefined。當宣告的變數還未被初始化時,變數的預設值為undefined。null型別也只有乙個值,即null。null用來表示尚未存在的物件,常用來表示函式企圖返回乙個不存在的...