es6中解析賦值的用途

2021-08-25 22:13:11 字數 1862 閱讀 7235

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

(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)函式引數的定義

解構賦值可以方便地將一組引數與變數名對應起來。

// 引數是一組有次序的值

function f([x, y, z])

f([1, 2, 3]);

// 引數是一組無次序的值

function f()

f();

(4)提取 json 資料

解構賦值對提取 json 物件中的資料,尤其有用。

let jsondata = ;

let = jsondata;

console.log(id, status, number);

// 42, "ok", [867, 5309]

上面**可以快速提取 json 資料的值。

(5)函式引數的預設值

jquery.ajax = function (url, ,

cache = true,

complete = function () {},

crossdomain = false,

global = true,

// ... more config

} = {}) ;

指定引數的預設值,就避免了在函式體內部再寫var foo = config.foo || 'default foo';這樣的語句。

(6)遍歷 map 結構

任何部署了 iterator 介面的物件,都可以用for...of迴圈遍歷。map 結構原生支援 iterator 介面,配合變數的解構賦值,獲取鍵名和鍵值就非常方便。

const map = new map();

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)

(7)輸入模組的指定方法

載入模組時,往往需要指定輸入哪些方法。解構賦值使得輸入語句非常清晰。

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 解構賦值的6個用途

變數的解構賦值用途很多。1 交換變數的值let x 1 let y 2 x,y y,x 上面 交換變數x和y的值,這樣的寫法不僅簡潔,而且易讀,語義非常清晰。2 從函式返回多個值 函式只能返回乙個值,如果要返回多個值,只能將它們放在陣列或物件裡返回。有了解構賦值,取出這些值就非常方便。返回乙個陣列 ...

ES6 變數的解構賦值的用途

變數的解構賦值用途很多。1 交換變數的值 let x 1 let y 2 x,y y,x 上面 交換變數x和y的值,這樣的寫法不僅簡潔,而且易讀,語義非常清晰。2 從函式返回多個值 函式只能返回乙個值,如果要返回多個值,只能將它們放在陣列或物件裡返回。有了解構賦值,取出這些值就非常方便。返回乙個陣列...