鎖定對象的屬性

禁止擴展

不能添加新的屬性

var obj = {
    name: 'u14e'
};
Object.preventExtensions(obj);

Object.isExtensible(obj);   // false

對象封印

對象不可擴展且所有屬性都不可配置
即不僅不能添加新屬性,也不能刪除屬性或改變其類型(從數據屬性變成訪問器屬性或相反)
只能讀寫它的屬性

var obj = {
    name: 'u14e'
}
Object.seal(obj);
Object.isSealed(obj);    // true

obj.name = 'u148';
console.log(obj.name);  // 'u148'

對象凍結

不能添加或刪除屬性,不能改變數據類型,也不能寫入任何數據類型
只能讀取屬性

var obj = {
    name: 'u14e'
};
Object.freeze(obj);
Object.isFrozen(obj);   // true
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容