ES6 解構賦值的6個用途

2021-10-08 22:14:10 字數 1627 閱讀 7157

變數的解構賦值用途很多。

(1)交換變數的值

let x =1;

let y =2;

[x, y]

=[y, x]

;

上面**交換變數xy的值,這樣的寫法不僅簡潔,而且易讀,語義非常清晰。

(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...