首頁  >  文章  >  web前端  >  let 與 const 的特徵

let 與 const 的特徵

yulia
yulia原創
2018-09-08 16:09:411482瀏覽

let的特性:

1、不存在變數提升現象:即宣告前使用,報ReferenceError。適用於for循環計數器。
2、暫時性死區:即在區塊層級作用域內使用let宣告變數,且該變數只能在該作用域內使用。
3、不允許重複宣告:let宣告過的變數不能再聲明,否則報錯。

const的特性:

1、不存在變數提升現象。
2、暫時性死區。
3、不可重複宣告。
4、宣告的是唯讀常數,宣告時必須初始化。
5、本質保存的是記憶體位址,簡單型別資料的值就保存在這個位址中,複合型別資料在這個位址中保存的是一個指針,這個指標指向的物件可以改變,單指針就不可改變。

cost foo = {};
// 可以改变foo的属性
foo.prop = 123;
foo.prop  //123
// 不可以使foo指向别的对象
foo = {}; //TypeError: "foo" is read-only

凍結物件:

// 彻底冻结
var constantize = (obj) => {
   Object.freeze(obj);
   Object.keys(obj).forEach( (key, i) => {
       if( typeof obj[key] === 'object' ){
         constantize( obj[key] );
       }
    });
}

以上是let 與 const 的特徵的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn