從陣列和物件中提取值,對變數進行賦值,這被稱為解構
(1)從函式返回多個值
let
[a, b]=(
[1,2
][(a, b)]=
[2,1
]);// a = 2 ; b = 1
(2)接收從函式返回的多個值
函式只能返回乙個值,想返回多個需要返回乙個物件或陣列,用解構賦值取值非常方便
function
exam()
let[a,b,c]
=exam()
// a=1;b=2;c=3
function
exam()
}let
=exam()
// fo:'hi' // to:'hello'
(3)函式引數的定義
利用陣列解構的特點,會按順序匹配
function
test
([x,y,z]
)test([
1,2,
3]) 利用物件解構的特點:會自動找key相同的變數值
function
test()
test
()
(4)提取 json 資料
解構賦值對提取複雜的json資料非常方便;
const jsondata =
;let
= jsondata;
console.
lgo(id, status, datasource)
;// 43,'ok',[100,200]
(5)函式引數的預設值
function
test
(foo=
'nihao'
,too=
'hi'
)指定函式引數的預設值,當某個引數不傳時可以使用預設值代替,不用像之前too||
'default too'
(6)遍歷 map 結構
任何部署了 iterator 介面的物件,都可以用 for…of 迴圈遍歷。map 結構原生支援 iterator 介面,配合變數的解構賦值,獲取鍵名和鍵值就非常方便。
const map =
newmap()
;map.
set(
'first'
,'hello'
)map.
set(
'second'
,'world'
)for
([a,b]
of map)
// 只獲取key
for(
[a]of map)
// 只獲取value
for(
[,b]
of map)
(7)輸入模組的指定方法
在匯入模組時直接將裡面的方法解構出來
import
from
"dva"
;
es6(二) 解構賦值
es中允許按照一定格式從陣列,物件值提取值,對變數進行賦值,這就是解構 destructuring 1 let a,b,c 1,10,100 2 console.log a,b,c 1 10 1003 等式兩邊 模式 進行匹配,從而進行賦值 4 let i,j k 1,2 3 這種看看就好,知道這樣...
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...
ES6解構賦值
一 基本用法 解構 destructuring 按照一定的模式,從陣列或者物件中提取值,對變數進行賦值。let par1,par2,par3 1,2 console.log par1,par2,par3 1 2 不完全解構時par3對值為undefined 解構賦值允許指定變數對預設值。let pa...