ES6 知識點彙總 1 10

2022-08-04 22:27:17 字數 2262 閱讀 8260

es6是新一代的語言標準,es6規範了js使用標準,新增了js原生方法,更適合大型應用開發。

babel是乙個es6轉碼器,可以把es6**轉化成es5**,以便相容尚未支援es5的專案

es5沒有塊級作用域的概念

es6新增塊級作用域的概念

變數提公升:在使用var申明變數的時候,會提到當前作用域的頂端,而賦值操作位置不變

var僅在function是區域性變數,其他情況下是全域性變數,存在變數提公升 -- 區域性變數

let一直充當區域性變數,及時在if中外界也不能呼叫,不存在變數提公升 -- 區域性變數

const必須初始化,而且不能更改 , 不存在變數提公升 -- 常量

var可以重複申明,let不可以

---優化---

新增字串模板,在拼接大段字串時,用反斜槓取代以往的字串相加,可以保留空格和換行,使字串看起來更美觀

---公升級---

es6在string原型上新增了includes()方法,取代傳統 index of 查詢包含字串的方法,includes() 返回false,語義更加明確

此外還新增了startswith(), endswith(), padstart(),padend(),repeat()等方法,可方便的用於查詢,補全字串

---公升級---

新增了find()方法,取代傳統的只能用indexof查詢包含陣列專案的方法,修復了indexof查詢不到nan的bug([nan].indexof(nan) === -1)

新增了copywithin(), includes(), fill(),flat()等方法

---優化---

es6在number原型上新增了isfinite(), isnan()方法,用來取代傳統的全域性isfinite(), isnan()方法檢測數值是否有限、是否是nan

---公升級---

es6在math物件上新增了math.cbrt(),trunc(),hypot()等等較多的科學計數法運算方法,可以更加全面的進行立方根、求和立方根等等科學計算。

---優化---

1.物件屬性變數式宣告。es6可以直接以變數形式宣告物件屬性或者方法

3.物件的擴充套件運算子 ...

可以輕鬆的取出乙個目標物件內部全部或者部分的可遍歷屬性,從而進行物件的合併和分解

4.super關鍵字。

es6在class類裡新增了類似this的關鍵字super。同this總是指向當前函式所在的物件不同,super關鍵字總是指向當前函式所在物件的原型物件。

---公升級---

1.es6在object原型上新增了is()方法,做兩個目標物件的相等比較,用來完善'==='方法。'==='方法中nan === nan //false其實是不合理的

2.es6在object原型上新增了assign()方法,用於物件新增屬性或者多個物件合併。

3.es6在object原型上新增了getownpropertydescriptors()方法,此方法增強了es5中getownpropertydescriptor()方法,

可以獲取指定物件所有自身屬性的描述物件。結合defineproperties()方法,可以完美複製物件,包括複製get和set屬性。

4.es6在object原型上新增了getprototypeof()和setprototypeof()方法,用來獲取或設定當前物件的prototype物件

es6在object原型上還新增了object.keys(),object.values(),object.entries()方法,用來獲取物件的所有鍵、所有值和所有鍵值對陣列

---優化---

箭頭函式

1.箭頭函式內的this指向的是函式定義時所在的物件,而不是函式執行時所在的物件

2.箭頭函式不能用作建構函式,因為它沒有自己的this,無法例項化

3.也是因為箭頭函式沒有自己的this,所以箭頭函式 內也不存在arguments物件。

函式預設賦值

function es6fuc (x, y = 'default')

es6fuc(4) // 4, default

symbol是es6引入的第七種原始資料型別,所有symbol()生成的值都是獨一無二的,可以從根本上解決物件屬性太多導致屬性名衝突覆蓋的問題。

物件中symbol()屬性不能被for...in遍歷,但是也不是私有屬性。

ES6知識點總結

面向過程和物件導向的對比 面向過程 物件導向 物件 物件是由屬性和方法組成的 類 class 在 es6 中新增加了類的概念,可以使用 class 關鍵字宣告乙個類,之後以這個類來例項化物件 物件導向的思維特點 抽取 抽象 物件共用的屬性和行為組織 封裝 成乙個類 模板 對類進行例項化,獲取類的物件...

ES6面試 複習乾貨知識點彙總(全)

尤其在物件解構賦值 見優化部分b.或者模組輸出變數時,這種寫法的好處體現的最為明顯 let object let myownmethods let myownmethods 可以看到屬性變數式宣告屬性看起來更加簡潔明瞭。方法也可以採用簡潔寫法 let es5fun let es6fun otherf...

ES6知識點簡單總結

let宣告的變數只能在所處遇到的快級有效。不存在變數提公升。暫時性死區,不受外部 影響。在乙個大括號中使用let關鍵字宣告的變數才具有塊級作用域,var關鍵字不具有這個特點 具有塊級作用域。使用const關鍵字宣告的常量必須賦值。常量賦值後值不能更改。varletconst 函式級作用域 塊級作用域...