關於ES6新特性最常用的知識點匯總

1.關鍵字

Let 關鍵字 在let所在的代碼塊中起作用。在let之前對於改該變量是不能進行賦值的

Const關鍵字  為隻讀變量,因此在定義的時候就需要去賦值。

2.解構

變量的解構,

     1>.數組結構利用[],對數組局部可以進行賦值

    例如:

         Let [a,,c]=[1,,3]

    Let[a,…c]這裡c可以當作一個數組進行賦值

 2>.對象結構利用{},對對象進行解構,與數組類似,不同的是,多瞭一個屬性的問題,最重要的是對象屬性沒有次序,而是按照次序來的。

3.字符串

     1>. 利用for of 可以對字符串進行每一個字符進行遍歷。

     2>. 對於判斷是否含有字符為:include startswith endwith

     3>. Padstart。。。等等替換補全的函數

     4>.字符串模板,可以在字符串裡面${變量}來加上變量。也可以加上html的標簽

     5>.數值大多是對函數的運行,判斷是否為數字,類型轉換等

4.正則

1>.兩種用法

 One:Regex r=new Regex(‘匹配規則’,’修飾’)

Two:Regex r=/匹配的東西/修飾

     Regex 其中 I g y為修飾符

2>.sticky屬性 是否有修飾符

   Flags 返回匹配修飾符

3>.支持為後行斷言

5.數組

1>.可以用const […a2]=a1直接進行賦值,兩個變量互換也是可以的

2>.利用[]可以進行多個數組合並

3>.與結解構相結合

例如:

[a,…rest]=list  list為數組

6.函數

1>.參數默認值的使用,不能有同名參數

2>.參數傳值為惰性求值,就是每次會重新計算默認值

3>.依舊可以使用解構進行函數賦值,(個人認為類似於對象解構)

7.對象

     在es6中的對象使用類似於C語言中最開始的struct類型,但有區別的是,在es6中對象內部可以使用方法

例如:         

Const person={

  Name:wl;

Birth,

CalTime(){console.log(“”);}

8.Symbol

1>.相當於多出來的一種定義的關鍵字,防止定義的變量不小心被改寫和覆蓋。

2>.主要作用在於消除魔術字符串(個人理解:就是一堆字符串直接出來的,改成變量,提高代碼閱讀性吧)

9.集合

    1>.個人理解:有點類似java、C#中的集合。隻不過因為es6的特性,有一些不同的函數實現復雜的操作。Set可以轉變為數組,進行一些解構操作。

         在這裡多瞭一種加上前綴weak的集合,(這個就是臨時堆放東西的地方,說沒就沒,因此也不能遍歷)

10.Proxy配合Reflect的觀察者模式

    Proxy為攔截操作,Reflect就是反射操作,讀取變量進行修改。

Proxy監測發生改變,進行攔截操作,reflect進行取值更改,實現最簡單的觀察模式

11. Promise

       為構造函數,可以回調兩個函數。(個人理解:對於有兩種結果的情況更為使用,出現不同的情況調用不同的函數進行使用)

 ArrayBuffer也是一種構造器,利用多種函數操作,個人感覺為瞭規范數組。

12.遍歷器

       遍歷器模擬next,進行指針的移動,直到結束。在es6中跟我之前用的C,C++這些語言不同的是,他到結束瞭,會輸出undefined,不會直接崩掉程序。   

  next: function() {

         return nextIndex < array.length ?

        {value: array[nextIndex++], done: false} :

        {value: undefined, done: true};//不斷增加nextIndex,就是讓下標自加操作。

13.Generator

   本質為記錄函數內部狀態,異步操作,個人感覺應該在多線程中應用較多。單線程沒有想到應用的價值。本質上使用yield進行暫緩操作,可以不用yield,直接用*將函數變成暫緩執行的函數。

14.async

本質上來說是Generator的一種改進操作,他不采用yield進行暫緩操作,而是使用await進行該操作。但他與Geneator有所區別,在於返回的不同,Geneator返回遍歷器,他返回的是Promise對象

15.Class

  他對於原本的js語言來說,類的操作,將很多東西進行瞭封裝,有一定的模板,為瞭更好的進行閱讀理解,加上繼承,也減少瞭重復代碼的書寫。並且模式為嚴格模式,對於語言的規范性更高。跟面向對象語言中的class有些類似。

16.修飾器

這種寫法類似於java的註解,但是方式卻又所不同。個人理解java的註解是為瞭代碼的規法並且易於修改。但在es6中,修飾器本質就是編譯時執行的函數。

17.Moudle

將一些靜態編譯的東西模塊化,減少重復編寫吧,就類似python引入多種庫那樣,什麼東西引入一些庫,編寫就相對不復雜。

  import { stat, exists, readFile } from 'fs';//引入

export {firstName, lastName, year};//輸出

總結

到此這篇關於ES6新特性最常用的知識點匯總的文章就介紹到這瞭,更多相關ES6新特性知識點內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: