Test name | Executions per second |
---|---|
Object access | 75577720.0 Ops/sec |
Proxy access | 46859860.0 Ops/sec |
Proxy with get handler access | 19058822.0 Ops/sec |
Use of simple getter | 56411948.0 Ops/sec |
Use of defineProperty | 45007824.0 Ops/sec |
Proxy with get reflect handler access | 18887074.0 Ops/sec |
object get data | 45341704.0 Ops/sec |
object = { value: 'data', getData() {return this.value;}, get data() { return this.value } };
Object.defineProperty(object, 'dataProperty', {
get() { return this.value; }
});
proxy = new Proxy(object, {})
proxyWithReflectHandler = new Proxy(object, {
get(target, prop, receiver) {
return Reflect.get(target, prop, receiver)
}
})
proxyWithHandler = new Proxy(object, {
get(target, prop, receiver) {
return object[prop];
}
})
object.value;
proxy.value
proxyWithHandler.value
object.getData();
object.dataProperty;
proxyWithReflectHandler.value
object.data;