乙個正在努力愛好運動的程式猿-
座右銘:越努力越幸運,越運動越健康,熱愛程式設計,熱愛運動。
允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構
解構是es6的新特性, 比es5**簡潔,清晰,減少**量
//陣列解構(按順序匹配)
//匹配模式 左邊是變數 =(匹配) 右邊對應的值
let[a,b,c]=[
1,2,
3];var a =1;
var b =2;
var c =3;
var a =[1
,2,3
];var b =
;var c =
null
;let
[a,b,c]=[
[1,2
,3],
,null];
//匹配不成功 變數的值就等於undefined
let[a,b]=[
1]//a=1 b = undefined
let[a,b]=[
1,2,
3]//不完全解構 a=1 b=2 按順序匹配
//擴充套件
let[a]=[
];//a =undefined
let[a,b]=[
[,],
null];
//a = [,] b=null
let[a,
[b],c]=[
1,[2
],3]
;//預設值 (成員等於undefined 預設值會生效)
var arr =[10
,20];
let[a=
1,b=1]
= arr;
a = arr[0]
||1; b = arr[1]
||1;let
[a=1
,b=2]=
[10];
//a=10,b = 2;
let[a=
1,b=2]
=[10,
null];
//a = 10;b = null
let[a,b=2]
=[10]
;//a=10,b = 2;
//例外 成員等於undefined 預設值會生效
let[a,b=2]
=[10,undefined]
;//a=10,b=2
//物件解構(按匹配模式來匹配)
var=
;var obj =
;var a = obj.a;
var b = obj.b;
var c = obj.c;
// var = obj;
//作用 例如後端傳過來的資料...
var res =
, arr:
};var code = res.code;
var result = res.result;
var obj = res.obj;
let= obj;
result[2]
; obj.id;
//擴充套件題
function
fun(str,res)
= res;
console.
log(code)};
fun(
1,res)
//res為上面的整個物件
function
fun(str,);
fun(
1,res)
//全域性引入的變數與元件中的變數重名
//別名 a:q a是匹配模式 q才是變數
var=
;var=;
console.
log(a2)
console.
log(b2)
;let=;
//變數是誰 a y
//匹配結果 a = 1 , y = undefined
//預設值 預設值生效的條件是,物件的屬性值嚴格等於`undefined`
let=
;//x =10;
let=
;//x = 10,y=10
let=
;//x=1,y = 10
let=
;//變數 n a
//匹配結果 n = 10,a = 20;
let=
;//n=10,a=2;
//陣列解構
function
add(
[x, y]
)add([
1,2]
);//匹配方式 [x,y] = [1,2];
//物件解構
function
move()
move()
;//匹配方式 = ;
//當實參為空時,寫入預設值
function
fun(
[x=0
,y=0])
;fun([
2,4]
);//匹配方式 [x=0,y=0] = [2,4];
function
move()
move()
;//匹配方式 = ;
//擴充套件題 函式引數的解構也可以使用預設值
function
move(=
)move()
;// [3,8]
//匹配方式 =
move()
;//[3,0]
//匹配方式 =
move()
;//[0,0]
//匹配方式 = {}
move()
;//[0,0]
//匹配方式 = {}
function
move(=
)move()
;// [3,8]
//匹配方式 =
move()
;//[3,undefined]
//匹配方式 =
move()
;//[undefined,undefined]
//匹配方式 = {}
move()
;//[0,0]
//匹配方式 =
越努力越幸運,越運動越健康!!!加油 es6 物件解構 陣列解構 引數解構
使用es6的一種語法規則,將乙個物件或陣列的某個屬性提取到某個變數中。解構不會對解構的目標造成任何影響 對於物件,在我們要使用它的屬性時,通常把屬性儲存在變數裡 const user const age user.age const name user.name const user.或者如下分開宣...
函式引數解構
函式引數解構 給函式提供實參的時候,可以在集合型別前使用 把集合型別的解構解開,提取所有元素作為函式的實參 非字典型別使用 解構成位置引數 字典型別使用 解構成關鍵字引數 提取出來的元素數目要和引數的要求匹配,也要和引數的型別匹配 def add x,y return x y add 4,5 9 a...
箭頭函式引數解構
var elements hydrogen helium lithium beryllium elements.map function element 返回陣列 8,6,7,9 上面的普通函式可以改寫成如下的箭頭函式 elements.map element 8,6,7,9 當箭頭函式只有乙個引數...