ES6易忽略知識點以及常用知識點整理(一)

2021-10-07 05:44:28 字數 722 閱讀 3081

一.關於const的注意事項:

const簡介:cosnt用來宣告常量。一旦宣告,其值就不能改變。同時,const宣告的常量也不提公升,和let一樣存在暫時性死區,只能在宣告後使用。

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

舉例:const foo = {};

foo.prop = 123;

console.log(foo.prop) //123

上面的**中,常量foo儲存的是乙個位址,指向乙個物件。不可變的只是這個位址,即不能把foo指向另乙個位址,但物件本身是可變的,所以依然可以為其新增新屬性,程式不會報錯。

:那有沒有什麼方法能真正的凍結乙個物件呢?

有。使用object.freeze方法。

const foo = object.freeze({});

foo.prop = 123; //不起作用

除了將物件本身凍結,物件的屬性也應該凍結。追加乙個將物件徹底凍結的函式(複製拿去即用):

var constantize = (obj) =>

});};

注:以上內容擷取於《es6標準入門》,阮一峰著。二.

es6常用知識點總結

1.定義變數的方式 let 1 沒有變數提公升 var具有變數提公升 即在當前作用域的最上面定義這個變數 但不賦值 例 console.log x var x 20 顯示undefined console.log m let m 100 報錯 2 let不可以重複宣告 例 var x 10 var ...

ES6知識點總結

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

ES6知識點簡單總結

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