ES6筆記

let&const

1、新增塊級作用域
2、let -- 作用于 塊級作用域
3、const聲明一個只讀的常量。一旦聲明,常量的值就不能改變。const的作用域與let命令相同:只在聲明所在的塊級作用域內有效。
4、ES6 聲明變量的六種方法
ES5 只有兩種聲明變量的方法:var命令和function命令。ES6除了添加let和const命令,后面章節還會提到,另外兩種聲明變量的方法:import命令和class命令。所以,ES6 一共有6種聲明變量的方法。

數組的擴展

1、擴展運算符
2、Array.from()
3、Array.of()
4、數組實例的 copyWithin()
5、數組實例的 find() 和 findIndex()
6、數組實例的fill()
7、數組實例的 entries(),keys() 和 values()
8、數組實例的 includes()
9、數組的空位

Promise

Promise 是異步編程的一種解決方案,比傳統的解決方案——回調函數和事件——更合理和更強大。
(1)對象的狀態不受外界影響。Promise對象代表一個異步操作,有三種狀態:pending(進行中)、fulfilled(已成功)和rejected(已失敗)。
(2)一旦狀態改變,就不會再變,任何時候都可以得到這個結果。Promise
對象的狀態改變,只有兩種可能:從pending變為fulfilled和從pending
變為rejected。這時就稱為 resolved(已定型)。如果改變已經發生了,你再對Promise對象添加回調函數,也會立即得到這個結果。這與事件(Event)完全不同,事件的特點是,如果你錯過了它,再去監聽,是得不到結果的。

有了Promise對象,可以將異步操作以同步操作的流程表達出來,避免了層層嵌套的回調函數。此外,Promise對象提供統一的接口,使得控制異步操作更加容易。
Promise缺點
1)無法取消Promise,一旦新建它就會立即執行,無法中途取消。
2)其次,如果不設置回調函數,Promise內部拋出的錯誤,不會反應到外部。
3)第三,當處于pending狀態時,無法得知目前進展到哪一個階段(剛剛開始還是即將完成)。

generator

感覺像是在模擬同步,但是不是為同步而設計的
Generator 函數是 ES6 提供的一種異步編程解決方案,語法行為與傳統函數完全不同.從語法上,首先可以把它理解成,Generator 函數是一個狀態機,封裝了多個內部狀態。形式上,Generator 函數是一個普通函數,
有兩個特征
1)function關鍵字與函數名之間有一個星號;
2)函數體內部使用yield表達式,定義不同的內部狀態(yield在英語里的意思就是“產出”)。
Generator 函數是分段執行的,yield表達式是暫停執行的標記,而next方法可以恢復執行。

話說小主開了一個微信公眾號:[民間程序員],分享H5相關知識點,H5踩坑記,H5實戰案例分享等,歡迎大家關注~

博主小號-歡迎關注
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一. let 和 const 1 let 基本用法 ES6新增let命令,與var用法類似,但所聲明的變量只在聲明...
    dodomix閱讀 2,314評論 0 2
  • [TOC] 參考阮一峰的ECMAScript 6 入門參考深入淺出ES6 let和const let和const都...
    郭子web閱讀 1,818評論 0 1
  • 異步編程對JavaScript語言太重要。Javascript語言的執行環境是“單線程”的,如果沒有異步編程,根本...
    呼呼哥閱讀 7,336評論 5 22
  • ECMAScript 6.0( 以下簡稱ES6) 是JavaScript語言的下一代標準。 ECMAScript和...
    EarthChen閱讀 464評論 0 0
  • 以下內容是我在學習和研究ES6時,對ES6的特性、重點和注意事項的提取、精練和總結,可以做為ES6特性的字典;在本...
    科研者閱讀 3,152評論 2 9