let target = { age: '' };
const proxy = new Proxy(target, {
get: (target, prop, receiver) => {
return Reflect.get(target, prop, receiver)
},
set(target, prop, value) {
return Reflect.set(target, prop, value)
},
});
// defineProperty
let age = { name: '' };
Object.defineProperty(target, 'age', {
get: function () {
return age;
},
set: function (value) {
age = value;
},
});
console.time('Proxy');
for (let i = 0; i < 100000; i++) {
target.age;
target.age = i
}
console.timeEnd('Proxy')
console.time('defineProperty')
for (let i = 0; i < 100000; i++) {
age.name
age.name = i
}
console.timeEnd('defineProperty')
proxy API和defineProperty API性能对比
最新推荐文章于 2024-05-20 15:17:08 发布