1. 程式人生 > 程式設計 >關於ES6新特性最常用的知識點彙總

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

目錄
  • 1.關鍵字
  • 2.解構
  • 3.字串
  • 4.正則
  • 5.陣列
  • 6.函式
  • 7.物件
  • 8.Symbol
  • 9.集合
  • 10.Proxy配合Reflect的觀察者模式
  • 11. Promise
  • 12.遍歷器
  • 13.Generator
  • 14.async
  • 15.Class
  • 16.修飾器
  • 17.Moudle
  • 總結

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。。。等等替換補全的函式

&http://www.cppcns.comnbsp;4>.字串模板,可以在字串裡面${變數}來加上變數http://www.cppcns.com。也可以加上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中物件內部可以使用方法

例如:

Conhttp://www.cppcns.comst person={

 Name:wl;

Birth,

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

8.Symbol

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

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

9.集合

1>.個人理解:有點類似、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,就是讓下www.cppcns.com標自加操作。

13.Generator

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

14.async

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

15.Class

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

16.修飾器

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

17.Moudle

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

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

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

總結

到此這篇關於ES6新特性最常用的知識點彙總的文章就介紹到這了,更多相關ES6新特性知識點內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!