阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS Proxy deleteProperty()

      handler.deleteProperty() 方法用于拦截对对象属性的 delete 操作。

      语法

      var p = new Proxy(target, {
        deleteProperty: function(target, property) {
        }
      });
      
      

      参数

      deleteProperty 方法将会接受以下参数。 this 被绑定在 handler上。

      target

      目标对象。

      property

      待删除的属性名。

      返回值

      deleteProperty 必须返回一个 Boolean 类型的值,表示了该属性是否被成功删除。

      描述

      handler.deleteProperty() 方法可以拦截 delete 操作。

      拦截

      该方法会拦截以下操作:

      不变量

      如果违背了以下不变量,proxy 将会抛出一个 TypeError:

      • 如果目标对象的属性是不可配置的,那么该属性不能被删除。

      示例

      以下代码演示了对 delete 操作的拦截。

      var p = new Proxy({}, {
        deleteProperty: function(target, prop) {
          console.log('called: ' + prop);
          return true;
        }
      });
      
      delete p.a; // "called: a"
      
      

      规范

      SpecificationStatusComment
      ECMAScript 2015 (6th Edition, ECMA-262)[[Delete]]StandardInitial definition.
      ECMAScript Latest Draft (ECMA-262)[[Delete]]Draft 

      另见

      目录
      目录