mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-25 03:02:21 +00:00
修正参数名
property 改为 property key 防止产生歧义
This commit is contained in:
parent
c4f4570f67
commit
ad12c153b3
@ -8,13 +8,13 @@ Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界
|
|||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
var obj = new Proxy({}, {
|
var obj = new Proxy({}, {
|
||||||
get: function (target, key, receiver) {
|
get: function (target, propKey, receiver) {
|
||||||
console.log(`getting ${key}!`);
|
console.log(`getting ${propKey}!`);
|
||||||
return Reflect.get(target, key, receiver);
|
return Reflect.get(target, propKey, receiver);
|
||||||
},
|
},
|
||||||
set: function (target, key, value, receiver) {
|
set: function (target, propKey, value, receiver) {
|
||||||
console.log(`setting ${key}!`);
|
console.log(`setting ${propKey}!`);
|
||||||
return Reflect.set(target, key, value, receiver);
|
return Reflect.set(target, propKey, value, receiver);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
@ -44,7 +44,7 @@ Proxy 对象的所有用法,都是上面这种形式,不同的只是`handler
|
|||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
var proxy = new Proxy({}, {
|
var proxy = new Proxy({}, {
|
||||||
get: function(target, property) {
|
get: function(target, propKey) {
|
||||||
return 35;
|
return 35;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -80,7 +80,7 @@ Proxy 实例也可以作为其他对象的原型对象。
|
|||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
var proxy = new Proxy({}, {
|
var proxy = new Proxy({}, {
|
||||||
get: function(target, property) {
|
get: function(target, propKey) {
|
||||||
return 35;
|
return 35;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -155,11 +155,11 @@ var person = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
var proxy = new Proxy(person, {
|
var proxy = new Proxy(person, {
|
||||||
get: function(target, property) {
|
get: function(target, propKey) {
|
||||||
if (property in target) {
|
if (propKey in target) {
|
||||||
return target[property];
|
return target[propKey];
|
||||||
} else {
|
} else {
|
||||||
throw new ReferenceError("Property \"" + property + "\" does not exist.");
|
throw new ReferenceError("Prop name \"" + propKey + "\" does not exist.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -281,7 +281,7 @@ document.body.appendChild(el);
|
|||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const proxy = new Proxy({}, {
|
const proxy = new Proxy({}, {
|
||||||
get: function(target, property, receiver) {
|
get: function(target, key, receiver) {
|
||||||
return receiver;
|
return receiver;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -292,7 +292,7 @@ proxy.getReceiver === proxy // true
|
|||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const proxy = new Proxy({}, {
|
const proxy = new Proxy({}, {
|
||||||
get: function(target, property, receiver) {
|
get: function(target, key, receiver) {
|
||||||
return receiver;
|
return receiver;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user