![](/img/trans.png)
[英]TypeScript: How to set object property in constructor (depending on object properties)
[英]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:..
}
我希望用戶允許將屬性添加到cd和cd.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.