走到**面試,都避免不了會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轉...