簡體   English   中英

如何允許在對象上添加屬性但停止修改對象上的屬性集

[英]How to allow to add property on object but stop Modifying set of properties on object

我有一些全局對象CD ,它具有如下屬性集:

window.cd = {
  config:{
    title:"..."
  }
  a:func..., 
  b:56,
  c:..
}

我希望用戶允許將屬性添加到cdcd.config,但是屬性cd.a, cd.b, cd.config.title被密封(不允許修改)。

用戶應該不能刪除window.cd或這些屬性 (他可以刪除或修改的其他屬性)。

我嘗試了以下內容:

window.cd.a.seal();
window.cd.b.seal();
window.cd.config.title.seal();

但它引發以下錯誤:

window.cd.config.title.seal不是函數

快速制作樣品的標題不可寫

"use strict";
// Use strict mode or assignments to nonwritable properties silently fail

window.cd = {
  config:{
    title:'mytitle'
  },
  a:12,
  b:56
}

console.log(cd.config.title)
Object.defineProperty(cd.config,'title',{writable:false});
cd.config.title="Test";  // Fails, throws exception if Strict mode
console.log(cd.config.title)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM