整理的是高頻知識點,不足之處還請指出哈,後續會完善編程
新特性json
let、const、var三者區別數組
let聲明變量,const聲明常量promise
let、const都有塊級做用域,而var沒有異步
var存在變量提高,而let、const不會async
const與let最大不一樣在於,const聲明後沒法再次賦值函數
箭頭函數與普通函數區別this
set、map的區別spa
set用於數據重組,map用於數據儲存對象
set:
map:
Class的理解
class能夠看做是一個語法糖,只是讓對象原型的寫法更清晰,更像面向對象編程語法
class不存在變量提高,需先定義再使用
Promise的理解
Promise自己是同步的當即執行函數,行resolve或者reject的時候, 此時是異步操做, 會先執行then/catch等,當主棧完成後,纔會執行resolve/reject中存放的方法,打印結果是一個Promise實例
Async/Await的理解
Async函數返回一個 Promise 對象,當函數執行的時候,一旦遇到 await 就會先返回,等到觸發的異步操做完成,再執行函數體內後面的語句
Await含義爲等待,也就是 async 函數須要等待await後的函數執行完成而且有了返回結果以後,才能繼續執行下面的代碼
forEach、for in、for of三者區別
forEach更多用來遍歷數組
for in 經常使用來遍歷對象或json,循環出的是key
for of數組對象均可以遍歷,循環出的是value