# es6-proxy-polyfill
**Repository Path**: uuj0xu4208w4yji/es6-proxy-polyfill
## Basic Information
- **Project Name**: es6-proxy-polyfill
- **Description**: 基于 ES3 的Proxy构造器polyfill,支持 IE8 和 Node.js 等
- **Primary Language**: JavaScript
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 6
- **Created**: 2018-11-04
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
English | 中文
# ES6 Proxy Polyfill
这是一个基于 **ES3** 的`Proxy`构造器polyfill,支持 **IE8** 和 Node.js 等。
参照 ECMAScript 标准编写,无外部依赖。
由于ES3的限制,该polyfill只支持有限的'traps'代理:
* apply
* construct
`Proxy.revocable`方法也被支持,但只限于调用上面的'traps'。
#### 安装
1. 使用NPM:`npm install -S es6-proxy-polyfill`
2. 直接下载:开发版本,生产版本
#### 用法
1. 浏览器:
```
```
2. Node.js:
```
require('es6-proxy-polyfill');
var target = function(){/* code */};
var handler = {/* code */};
var proxy = new Proxy(target, handler);
```
#### 注意
1. 在ES6中,对`Proxy`对象属性的访问将会被传递给目标对象。为了模拟这个特性,polyfill会尝试使用`Object.assign`方法从目标对象复制属性,因此最好先加载一个`Object.assign`的polyfill;
```
```
2. 代码已经在Node.js 0.10.48 和 IE8 测试过,而且它也应该能够运行在其他环境下;
3. 当自身属性被访问时,被撤销的`Proxy`对象不会抛出错误。