變數的解構賦值用途很多。
(1)交換變數的值
let x =1;
let y =2;
[x, y]
=[y, x]
;
上面**交換變數x
和y
的值,這樣的寫法不僅簡潔,而且易讀,語義非常清晰。
(2)從函式返回多個值
函式只能返回乙個值,如果要返回多個值,只能將它們放在陣列或物件裡返回。有了解構賦值,取出這些值就非常方便。
// 返回乙個陣列
function
example()
let[a, b, c]
=example()
;// 返回乙個物件
function
example()
;}let=
example()
;
(3)函式引數的定義
解構賦值可以方便地將一組引數與變數名對應起來。
// 引數是一組有次序的值
functionf(
[x, y, z])f
([1,
2,3]
);// 引數是一組無次序的值
functionf(
)f()
;
(4)提取 json 資料
解構賦值對提取 json 物件中的資料,尤其有用。
let jsondata =
;let
= jsondata;
console.
log(id, status, number)
;// 42, "ok", [867, 5309]
上面**可以快速提取 json 資料的值。
(5)遍歷 map 結構
任何部署了 iterator 介面的物件,都可以用for...of
迴圈遍歷。map 結構原生支援 iterator 介面,配合變數的解構賦值,獲取鍵名和鍵值就非常方便。
const map =
newmap()
;map.
set(
'first'
,'hello');
map.
set(
'second'
,'world');
for(
let[key, value]
of map)
// first is hello
// second is world
如果只想獲取鍵名,或者只想獲取鍵值,可以寫成下面這樣。
// 獲取鍵名
for(
let[key]
of map)
// 獲取鍵值
for(
let[
,value]
of map)
(6)輸入模組的指定方法
載入模組時,往往需要指定輸入哪些方法。解構賦值使得輸入語句非常清晰。
const
=require
("source-map"
);
ES6解構賦值的用途
參考文件 1.交換變數的值 let x 1 let y 2 x,y y,x 2.從函式返回多個值 函式只能返回乙個值,如果要返回多個值,只能將它們放在陣列或物件裡返回。有了解構賦值,取出這些值就非常方便。返回乙個陣列 function example let arr a,b,c example ar...
ES6 變數的解構賦值的用途
變數的解構賦值用途很多。1 交換變數的值 let x 1 let y 2 x,y y,x 上面 交換變數x和y的值,這樣的寫法不僅簡潔,而且易讀,語義非常清晰。2 從函式返回多個值 函式只能返回乙個值,如果要返回多個值,只能將它們放在陣列或物件裡返回。有了解構賦值,取出這些值就非常方便。返回乙個陣列...
ES6 解構賦值
陣列的解構賦值 let a,b 12,13 let a,b,c d 13,15,16 let a,b c 78,12 23 let x,y 1,3,5 x 1,y 3 let x,y,z a x a,y undefined z let h,b 1,2,3,4 1,2,3,4 預設值 let x tr...