zoukankan      html  css  js  c++  java
  • ES6 proxy

    基本概念

    ECMAScript标准委员会定义了一个由14种内部方法组成的集合,亦即一个适用于所有对象的通用接口。而proxy的存在即是为了覆写这些内部方法。

    代理方式:

    var target={}.handle={};
    
    var proxy=new Proxy(target,handle);

    注意:

    (1)用Proxy代理的对象调用方法中的this指向Proxy

    (2)Proxy.revocable方法能够取消代理,该方法返回的对象包含一个.proxy属性和一个.revoke方法。调用revoke方法能够取消.proxy指向的Proxy实例

    let {proxy,revoke}=Proxy.revocable(target,handler);

    API

    ->MDN Proxy(同样定义了14中方法,与14种内部方法一一对应)

    API中的注意事项

    get(target, propKey, receiver) | set(target, propKey, value, receiver)

    receiver 是我们首先开始搜索这个属性的对象。有时我们必须要搜索几个对象,obj可能是一个在receiver原型链上的对象。

    has(target, propKey)

    has方法拦截的是HasProperty操作,而不是HasOwnProperty操作,虽然for...in循环也用到了in运算符,但是has拦截对for...in循环不生效。ownKeys方法拦截for...in循环。

    construct(target, args)

    newTarget指向创造实例对象时,new命令作用的构造函数

  • 相关阅读:
    将数据导入PostGIS
    图层管理
    CentIOS PHP 扩展库
    js 笔记 数组(对象)
    JSP 中的 Request 和 Response 对象
    ubuntu 安装 LAMP
    html 学习笔记
    Struts Ajax Json
    Servlet 笔记
    PHP+MYSQL 出现乱码的解决方法
  • 原文地址:https://www.cnblogs.com/goOtter/p/9573065.html
Copyright © 2011-2022 走看看