javascript.如何禁止对象属性的创建
javascript. How to forbide object properties creation
我需要一种方法来避免为对象创建自定义属性。
这是我的代码:
object_to_instance = function () {
this["elem1"] = 0;
this["elem2"] = 0;
// ....
this["elem_n"] = 0;
}
my_obj = new object_to_instance();
my_obj.elem1 =7;
我想要的是一种避免这种情况的方法:
my_obj.ele2 = 8 // (The m of elem2 is missing)
是可能的。
现在我有一个ele2属性,但我想要一个错误!
同样,使用strict mode
也没有帮助。
有什么想法吗?
您可能需要Object.preventExtensions
:
Object.preventExtensions()
方法防止新属性被添加到对象(即防止将来扩展到对象)。
只要你想锁定属性就调用Object.preventExtensions(my_obj)
。
与Object.seal
不同,这仍然允许删除现有的属性。
注意,这只会在现代浏览器中工作;特别是ie8及以下版本不支持。
相关文章:
- 如何从对象的原型方法访问JavaScript对象属性
- 如何将数组项添加到对象属性中
- 设置嵌套对象属性的更好方法
- JavaScript管理具有重复属性名称的对象属性
- 如何使用element.myobj.prop等具有对象属性的元素
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 如何在AngularJS工厂中正确声明对象属性
- 如何使用object.assign()从其他对象引用基本对象属性
- 使用XPath样式访问Javascript JSON对象属性
- 将javascript对象(属性+值)合并到一个对象中
- 数组:使对象属性成为数组键
- 无法从JavaScript中的函数调用对象属性
- Google Closure Advanced |无法识别对象属性|动态属性
- Javascript从匿名函数访问外部对象属性
- 从函数更改对象属性
- 如何从字符串变量访问对象属性
- 从嵌套对象属性中获取排除某个值的最高值
- 在Aurelia computeds中,当设置依赖关系时,如何声明对对象属性的依赖关系
- 传递数量不确定的可能嵌套的对象属性