走到**面試,都避免不了會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學習筆記
let 塊變數 作用域為塊 const 常亮 作用域為當前塊 解構賦值 例 var x,y 1,2 字元擴充套件 at includes startswith endswith repeat codepointat 模板字串 例 正則的uiy 數值擴充套件 number.isfinite numbe...
ES6學習筆記
常用語法 1 let 與var類似,不同的是let定義的變數有塊級作用域,比如 var a 1 while true alert a 2 用let let a 1 while true alert a 12 const用來定義變數,但是定義之後的值不能再次更改了。乙個實際的用途是用來定義引入的模組,...
ES6學習筆記
var 有變數提公升 let 是塊級作用域,沒有變數提公升 模板語言 還原百分百定義的格式 const 定義常量,特殊情況可以改變值 const b 1 b 2 error const b b.a 2 ok b.c 10 ok object是記憶體位址,位址不變就沒問題 預設值 在不知道接收到個什麼...