總結部分常用ES6的語法及其簡單解析

2022-09-12 10:00:26 字數 3253 閱讀 1366

let/const用於宣告變數,替代老語法的var關鍵字,它的用法與var類似,但是所宣告的變數只在所在的**塊中有效。

let不相同的是,const宣告的是乙個唯讀常量。

const的特點:

字串解構

字串也可以解構賦值。這是因為此時,字串被轉換成了乙個類似陣列的物件。

const [a, b, c, d, e] = 'hello';
數值和布林值解構

解構賦值時,如果等號右邊是數值和布林值,則會先轉為物件。

let  = 123;

s === number.prototype.tostring // true

let = true;

s === boolean.prototype.tostring // true

物件解構

物件的屬性沒有次序,變數必須與屬性同名,才能取到正確的值。

形式:const =

預設:const =

改名:const =

陣列解構

只要某種資料結構具有iterator介面就可採用陣列形式的解構賦值

形式:const [x, y] = [1, 2]

預設:const [x, y = 2] = [1]

函式引數解構

//陣列引數解構

function add([x, y])

add([1, 2]); // 3

//物件引數解構且有預設值

function move( = {})

move(); // [3, 8]

move(); // [3, 0]

move({}); // [0, 0]

move(); // [0, 0]

es6 允許使用箭頭(=>)定義函式,簡化定義函式

var f = v => v;

// 等同於

var f = function (v) ;

擴充套件運算子(...):轉換陣列為用逗號分隔的引數序列([...arr],相當於rest/spread引數的逆運算)

array.from():轉換具有iterator介面的資料結構為真正陣列,返回新陣列

類陣列物件:包含length的物件arguments物件nodelist物件

可遍歷物件:stringset結構map結構generator函式

array.of():轉換一組值為真正陣列,返回新陣列

copywithin():把指定位置的成員複製到其他位置,返回原陣列

find():返回第乙個符合條件的成員

findindex():返回第乙個符合條件的成員索引值

fill():根據指定值填充整個陣列,返回原陣列

keys():返回以索引值為遍歷器的物件

values():返回以屬性值為遍歷器的物件

entries():返回以索引值和屬性值為遍歷器的物件

陣列空位:es6明確將陣列空位轉為undefined(空位處理規不一,建議避免出現)

轉殖陣列:const arr = [...arr1]

合併陣列:const arr = [...arr1, ...arr2]

拼接陣列:arr.push(...arr1)

轉換字串為陣列:[..."hello"]

轉換類陣列物件為陣列:[...arguments, ...nodelist]

轉換可遍歷物件為陣列:[...string, ...set, ...map, ...generator]

與陣列解構賦值結合:const [x, ...rest/spread] = [1, 2, 3]

計算unicode字元長度:array.from("hello").length=>[..."hello"].length

方法對映集合

方法應用場景

重點難點

方法方法

應用場景

重點難點

特點:示例:

const promise = new promise(function(resolve, reject)  else 

});

方法:catch():用於指定發生錯誤時的**函式。

promise.all():將多個例項包裝成乙個新例項,返回全部例項狀態變更後的結果陣列(齊變更再返回)

promise.race():將多個例項包裝成乙個新例項,返回全部例項狀態優先變更後的結果(先變更先返回)

promise.resolve():將物件轉為promise物件(等價於new promise(resolve => resolve()))

promise.reject():將物件轉為狀態為rejected的promise物件(等價於new promise((resolve, reject) => reject()))

es6入門教程

promise不會??看這裡!!!史上最通俗易懂的promise!!!

近一萬字的es6語法知識點補充

常用es6語法總結

一.let var,const var沒有塊級作用域,定義後在當前閉包中都可以訪問,如果變數名重複,就會覆蓋前面定義的變數,並且也有可能被其他人更改。for var i 0 i 3 i 0 結果會列印3次3,原因是var 沒有塊級作用域,而let有自己的塊級作用域,所以不會出現這種情況。使用 let...

常用ES6基礎語法總結

用自己易於理解的語言總結的,歡迎各位大佬指點 1 用來宣告塊級作用域 let宣告的變數只在其塊級作用域內有效,而var通常在函式作用域或全域性作用域內有效塊級作用域 指用花括號包裹起來形成的語句塊,如if for while迴圈語句等。if true console.log a a is not d...

ES6語法總結

1 物件的寫法 es5中物件 es6中物件 注意這種寫法的屬性名稱和值變數是同乙個名稱才可以簡寫,否則要想es5那樣的寫法,例如 2 在物件中的方法的寫法 es5中物件 substrict function es6中物件 substrict 3 物件的匯出寫法 es5兩種形式 1 module.ex...