首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Proxy.handler.preventExtensions

handler.preventExtensions()方法是Object.preventExtensions()的勾子。

语法

代码语言:javascript
复制
var p = new Proxy(target, {
  preventExtensions: function(target) {
  }
});

参数

以下参数传递给?preventExtensions?方法. 它会绑定到这个handler.

target所要拦截的目标对象.

返回值

preventExtensions?方法返回一个布尔值.

描述

handler.preventExtensions() 拦截 Object.preventExtensions()返回一个布尔值.

拦截

这个trap可以拦截这些操作:

  • Object.preventExtensions()
  • Reflect.preventExtensions()

限制

如果违反了下列规则, proxy则会抛出一个?TypeError:

Object.preventExtensions(proxy) 只能返回?true?如果?Object.isExtensible(proxy)?是?false.

  • ExamplesThe following code traps Object.preventExtensions().var p = new Proxy({}, { preventExtensions: function(target) { console.log('called'); Object.preventExtensions(target); return true; } }); console.log(Object.preventExtensions(p)); // "called" // falseThe following code violates the invariant.var p = new Proxy({}, { preventExtensions: function(target) { return true; } }); Object.preventExtensions(p); // TypeError is thrownSpecificationsSpecificationStatusCommentECMAScript 2015 (6th Edition, ECMA-262)The definition of '[PreventExtensions]' in that specification.StandardInitial definition.ECMAScript 2017 Draft (ECMA-262)The definition of '[PreventExtensions]' in that specification.Draft?Browser compatibilityFeatureChromeFirefox (Gecko)Internet ExplorerOperaSafariBasic support?22 (22)???FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari MobileBasic support??22.0 (22)???See also

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com