ES6筆記(解構)

2021-08-17 19:50:23 字數 2054 閱讀 7083

1、解構

解構通俗點說,就是通過一種特定格式,快捷的讀取物件/陣列中的資料的方法

基本用法:(如果右邊是物件,左邊也要用物件的格式,解構出來就是變數了,再也不是屬性了)

//解構物件

var ouser=

//es5讀資料的方法

console.log(ouser['name'],ouser['age']);//aaa 20

//let=ouser;

let=ouser;//還能給預設值

console.log(name,age,***);//aaa 20 man

-------------------------------------------

//解構陣列

let arr=[10,20,30];

//let [a,b,c]=arr;

//[10, 20, 30]

//如果只想解構乙個

let [,b,]=arr;

console.log(b);//20

基本應用:

//解構二維陣列

let arr=[10,[100,200],300];

//let [a,b,c]=arr; //b解構的是二維陣列

//把二維陣列解構出來

let [a,[b,d],c]=arr;

console.log(a,b,d,c); //10 100 200 300

-------------------------------------------

//交換兩個變數的值

//es5

let a=10,b=20,tmp=null;

tmp = a;

a=b;

b=tmp;

console.log(a,b)

//es6解構

let a=10,b=20;

[b,a]=[a,b];//這裡不用let,解構出來是變數,前面已經定義了

console.log(a,b);//20 10

//用解構修改區域性變數的值

let ouser=,

name='bbb',

age=40;

(=ouser);//用小括號括起來,就被認為是結構表示式

console.log(name,age)

//其他解構

let name='aaa',age=20;

(=)console.log(name2,age2,name,age) //bbb 40 bbb 40

解構表示式作為引數、解構**物件:

//解構表示式作為引數(引用還是複製?)

let ouser=

function show(obj)

show(=ouser); //作為引數傳給函式

console.log(name,age); //aaa 20 已經解構出來了,在外面就相當於變數了

-------------------------------------------

//解構**物件:一級級往下解構,遇到同名要改名字

let ouser=,

'group2': }}

let=ouser;

let=myclass;

let =group1;

let =group1;

console.log(group1,group2);

解構不定引數及巢狀解構:

//把b,c解構到不定引數

let arr=[10,20,30];

let [a,...other]=arr;

console.log(a,other[0],other[1]);//10 20 30

-------------------------------------------

//es5複製陣列

var arr=[10,20,30];

var arr2=;

//arr2=arr ;這樣不叫複製陣列,叫引用,指向同乙個記憶體位址,一方修改另一方會跟著修改

for(var i=0;i

es6筆記 變數的解構賦值

模式匹配賦值,左邊是陣列,右邊也是陣列,一一對應賦值 例子 let a,b,c 1,2,3 解構賦值允許指定預設值,只有當乙個陣列成員 嚴格等於undefined,預設值才會生效 字串的結構賦值 字串也可以解構賦值,這是因為此時,字串被轉換成了乙個類似陣列的物件 例子 const a,b,c,d,e...

培訓ES6筆記

1 剩餘操作符 let rest function a,rest rest 1,2,3,4,5 傳入引數 let print function a,b,c print 1,2,3 print 1,2,3 var m2 math.max 8,9,4,1 可以替代concat var arr1 1,3 ...

ES6筆記 物件

依據阮一峰教程摘取的自己可能用到的特性 屬性的簡潔表示法 function f x,y 等同於 function f x,y f 1,2 object方法簡寫 const o 等同於 const o object.assign 可列舉物件的合併 同名屬性的合併 淺拷貝const target con...