js ES6學習筆記 module(4)

2021-09-07 09:53:39 字數 902 閱讀 5662

2、瀏覽器載入 es6 模組,也使用標籤,但是要加入type="module"屬性。

瀏覽器對於帶有type="module",都是非同步載入,不會造成堵塞瀏覽器,即等到整個頁面渲染完,再執行模組指令碼,等同於開啟了標籤的defer屬性。

3、對於外部的模組指令碼,有幾點需要注意。

4、利用頂層的this等於undefined這個語法點,可以偵測當前**是否在 es6 模組之中。

5、討論 node 載入 es6 模組之前,必須了解 es6 模組與 commonjs 模組完全不同。

它們有兩個重大差異。

6、在靜態分析階段,乙個模組指令碼只要有一行importexport語句,node 就會認為該指令碼為 es6 模組,否則就為 commonjs 模組。如果不輸出任何介面,但是希望被 node 認為是 es6 模組,可以在指令碼中加一行語句export {};

7、es6 模組之中,頂層的this指向undefined;commonjs 模組的頂層this指向當前模組,這是兩者的乙個重大差異。

8、node 採用 commonjs 模組格式,模組的輸出都定義在module.exports這個屬性上面。在 node 環境中,使用import命令載入 commonjs 模組,node 會自動將module.exports屬性,當作模組的預設輸出,即等同於export default。 

js ES6學習筆記 Proxy

1 proxy 用於修改某些操作的預設行為,等同於在語言層面做出修改,所以屬於一種 元程式設計 meta programming 即對程式語言進行程式設計。2 proxy 可以理解成,在目標物件之前架設一層 攔截 外界對該物件的訪問,都必須先通過這層攔截,因此提供了一種機制,可以對外界的訪問進行過濾...

js ES6學習筆記 Reflect

1 reflect物件與proxy物件一樣,也是 es6 為了操作物件而提供的新 api。reflect物件的設計目的有這樣幾個。2 reflect.get方法查詢並返回target物件的name屬性,如果沒有該屬性,則返回undefined。3 reflect.set方法設定target物件的na...

js ES6學習筆記 const命令

1 const宣告乙個唯讀的常量。一旦宣告,常量的值就不能改變。2 const宣告的變數不得改變值,這意味著,const一旦宣告變數,就必須立即初始化,不能留到以後賦值。3 const的作用域與let命令相同 只在宣告所在的塊級作用域內有效。4 const命令宣告的常量也是不提公升,同樣存在暫時性死...