es6 const總結

用法

  • 聲明一個只讀的常量
  • 暫時性死區特性,要先聲明後使用
  • 只在聲明的做用域塊內有效
  • 統一做用域塊內不能夠重複聲明同一常量

本質:

  • const本質上只是保證該常量名指向的內存地址是不變的,相似c語言中指針的概念 因此若是使用const聲明一個對象,只要不改變該常量名指向對象在棧內存的地址就不會報錯,對象的屬性是能夠操做的,數據結構是可變的
  • 若是要徹底凍結對象,能夠使用Object.freeze();見下列代碼:
function freeze(obj) {
    if(!isObject(obj)) return;
    Object.freeze(obj);
    for(let i in obj) {
    freeze(i);
    }
}
function isObject(obj) {
return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase()==='object';
}
相關文章
相關標籤/搜索