JavaScript | Reflect.preventExtensions() 方法
Javascript 中的Reflect.preventExtensions()方法用于防止将来对对象进行扩展,这意味着防止向对象添加新属性。
句法:
Reflect.preventExtensions( obj )
参数:此方法接受如上所述和如下所述的单个参数:
- Obj:此参数保存目标对象,用于防止扩展。
返回值:该方法返回布尔值。它返回 true 以成功阻止扩展。否则,返回 false。
异常:当目标不是对象时,TypeError 是作为结果给出的异常。
下面的示例说明了 JavaScript 中的Reflect.preventExtensions() 方法:
示例 1:
javascript
const object1 = {};
console.log(Reflect.isExtensible(object1));
Reflect.preventExtensions(object1);
console.log(Reflect.isExtensible(object1));
const obj = {};
Reflect.preventExtensions(obj);
console.log(
Reflect.isExtensible(obj)
);
obj.val = 3;
console.log(
obj.hasOwnProperty ("val")
);
javascript
let empty = {}
console.log(Reflect.isExtensible(empty));
console.log(Reflect.preventExtensions(empty));
console.log(Reflect.isExtensible(empty));
const obj = {"val1":3, "val2":4};
Reflect.preventExtensions(obj);
console.log ( obj.hasOwnProperty ( "val1" ) );
delete obj.val1;
console.log ( obj.hasOwnProperty ( "val2" ) );
输出:
true
false
false
false
示例 2:
javascript
let empty = {}
console.log(Reflect.isExtensible(empty));
console.log(Reflect.preventExtensions(empty));
console.log(Reflect.isExtensible(empty));
const obj = {"val1":3, "val2":4};
Reflect.preventExtensions(obj);
console.log ( obj.hasOwnProperty ( "val1" ) );
delete obj.val1;
console.log ( obj.hasOwnProperty ( "val2" ) );
输出:
true
true
false
true
true
支持的浏览器: Reflect.preventExtensions() 方法支持的浏览器如下:
- 谷歌浏览器 49 及更高版本
- 边缘 12 及以上
- 火狐 42 及以上
- Opera 36 及以上
- Safari 10 及更高版本