js ES6學習筆記 const命令

2021-09-07 09:12:51 字數 854 閱讀 5936

1、const宣告乙個唯讀的常量。一旦宣告,常量的值就不能改變。

2、const宣告的變數不得改變值,這意味著,const一旦宣告變數,就必須立即初始化,不能留到以後賦值。

3、const的作用域與let命令相同:只在宣告所在的塊級作用域內有效。

4、const命令宣告的常量也是不提公升,同樣存在暫時性死區,只能在宣告的位置後面使用。

5、const宣告的常量,也與let一樣不可重複宣告。

6、對於復合型別的變數,變數名不指向資料,而是指向資料所在的位址。const命令只是保證變數名指向的位址不變,並不保證該位址的資料不變,所以將乙個物件宣告為常量必須非常小心。

7、如果真的想將物件凍結,應該使用object.freeze方法。

8、es5只有兩種宣告變數的方法:var命令和function命令。es6除了新增letconst命令,後面章節還會提到,另外兩種宣告變數的方法:import命令和class命令。所以,es6一共有6種宣告變數的方法。

9、頂層物件,在瀏覽器環境指的是window物件,在node指的是global物件。es5之中,頂層物件的屬性與全域性變數是等價的。

10、es6中,var命令和function命令宣告的全域性變數,依舊是頂層物件的屬性;另一方面規定,let命令、const命令、class命令宣告的全域性變數,不屬於頂層物件的屬性。也就是說,從es6開始,全域性變數將逐步與頂層物件的屬性脫鉤。

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學習筆記 修飾器

1 修飾器對類的行為的改變,是 編譯時發生的,而不是在執行時。這意味著,修飾器能在編譯階段執行 2 function testable target testable class mytestableclass console.log mytestableclass.istestable true ...