1. 程式人生 > >ES6方面重點摘要

ES6方面重點摘要

style 層級 arguments {} 而是 nbsp 情況 必須 自己

1、變量聲明
(1)內層變量覆蓋外層變量(即後面的覆蓋前面的)
(2)循環變量的聲明,i值在全局範圍內有效,所以最後輸出的都是最後一輪i的值
(3)let、const的引入,為JS增加了塊級作用域的概念(const一旦聲明,常量的值就不能改變)
2、原型、構造函數、繼承
引入了class類的概念,先用class定義一個“類”,裏面有一個constructor構造方法,this關鍵字代表實例對象。
(1)constructor內定義的方法和屬性是實例對象自己的,而constructor外定義的方法和屬性則是所有實例對象共享的
(2)class之間通過extends關鍵字實現繼承。子類必須在constructor方法中調用super方法,否則新建實例時會報錯(這是因為子類沒有自己的this對象,而是繼承父類的this對象,然後對其進行加工。如果不調用super方法,子類就得不到this對象。)


(3)ES6的繼承機制,實質是先創造父類的實例對象this(所以必須先調用super方法),然後再用子類的構造函數修改this。
3、箭頭函數
(1)簡單的寫法
(2)對this重定向、和this綁定的改進。
(3)當我們使用箭頭函數時,函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象。並不是因為箭頭函數內部有綁定this的機制,實際原因是箭頭函數根本沒有自己的this,它的this是繼承外面的,因此內部的this就是外層代碼塊的this。
4、模板字符串
(1)用反引號來標識起始,用 ${} 來引用變量,而且所有的空格和縮進都會被保留在輸出之中
5、解構
(1)正寫情況、反寫情況均可解構:通過解構賦值的方法,從node對象讀取相應的值重新為這兩個變量賦值

(2)為非同名局部變量賦值,當使用其他變量名進行賦值時也可以添加默認值,只需在變量名後添加等號和默認值即可
(3)嵌套對象解構:解構模式可以應用於任意層級深度的對象,且每一層都具備同等的功能
6、默認值
(1)給參數指定默認值:當指定的屬性不存在時,可以隨意定義一個默認值,在屬性名稱後添加一個等號(=)和相應的默認值即可
7、rest語法:
(1)不定元素,三個點,類似於arguments
8、模塊化:import/export
(1)require.js寫法:先定義define,然後再require
(2)CommonJS寫法:先require,再exports
(3)ES6寫法:先import,再export

export命令除了輸出變量,還可以輸出函數,甚至是類;import則導入這些變量、函數或類;
用 as 實現一鍵換名;
除了指定加載某個輸出值,還可以使用整體加載,即用星號(*)指定一個對象,所有輸出值都加載在這個對象上面。通常 星號* 結合 as 一起使用比較合適。

ES6方面重點摘要