ES6學習知識筆記

2022-06-23 21:03:08 字數 1992 閱讀 9649

走到**面試,都避免不了會es6,於是作為一個程式猿,還是決定學習下es6,自己學習能力很差,學的東西也很慢,學了許久,才有點頭緒,行了話不多說,趕緊把筆記補上!

1.首先就是定義變數的寫法,之前是var可以重複宣告,現在有了let----塊級變數定義不能重複宣告,也就是在函式裡面定義的話,就只能在函式裡面用到,不是全域性的話,就用不到,這樣的好處是防止資料汙染;const適合定義固定不變的,比如域名,地址什麼的;

2.箭頭函式--這個我開始以為好麻煩,好難,但是學過之後發現,就會講師說的一樣就是function的簡寫,

以前的寫法 

let a=function(){}

箭頭函式

let a=()=>

如果{}裡面只有一個引數,{}可以省略

let a=()=>return a;

修正this,相對正常點

3.函式引數

一般寫法是 function a(a,b,c,d)

現在可以寫 function(a,b,...args)------(...args)代表剩餘引數 但是隻能作為最後一個引數 能收集 能擴充套件

let data=[12,5,8,9];

let arr=[...data,..data];擴充套件

4.解構賦值

比如定義一個變數  let a=10,b=2;

可以寫為 let[a,b]=[10,2],左邊什麼型別,右邊對應型別賦值即可

5.陣列

陣列在es6多了四個方法---

map、對映   一個對一個的  [1,6,5,4]可以對映為[一月,六月,五月,四月];

let result=array.map(item=>資料)

比如 let data=[20,60,80,50]-----data.map(item=>item>60?'及格':'不及格');

reduce、彙總

let data=[20,60,80,50];

tmp--計算的結果   item--值,index--陣列索引

data.reduce((tmp,item,index)=>else插入即可

7.json

json物件

let json=;---json寫法

json.stringify(json)----變成字串

let json=""

標準寫法  --只能用雙引號  所有的名字必須有雙引號包起來,不然會報錯

json.parse(json)---變成json

json簡寫

json名字跟值(key和value)一樣的時候可以只寫一個   let json**********==let json=

8.promise

我們請求資料一般都是 非同步 同步

非同步:多個請求同時進行,**會變得複雜;

同步:只能做一件事,**簡單;

二者各有千秋,所以就有了一個promise  消除非同步,用同步的方法來操作**

一般的寫法:

resolve--成功   reject--失敗

let p=new promise(function(resolve,reject),error(error)=>,---成功函式function(){}---失敗函式)

如果是多個請求同時進行的話,可以使用promise.all([請求1,請求2]).then()

可以對promise進行封裝

// function greatepromist(url),

// error:function(error)

// });

// })

// }

然後呼叫就是 promise.all([請求1,請求2]).then()

jquery其實本身就封裝的有promise  版本在3.多以上

所以我們可以 promise.all([$.ajax(),$.ajax(),]).then();

9.generator生成器

適合邏輯性的請求,執行到一半可以暫停的東西

詳細的 

ES6 Symbol

1 2 symbol3 45 6 1 什麼是 symbol 7 symbol,表示獨一無二的值。它是 js 中的第七種資料型別。8 910...

ES6 Map

map 物件儲存鍵值對。任何值 物件或者原始值 都可以作為一個鍵或一個值。 key 是字串 varmymap newmap varkeyst...

ES6 Array

let json array from json json轉換為array let arr array of 3 4 5 6 string轉...