The first one is :
function EventHandlers() {}
EventHandlers.prototype = Object.create(null);
this._events = new EventHandlers();
The second kind :this._events = {};
segmentfault 2022-05-15 04:55:23 阅读数:788
The first one is :
function EventHandlers() {}
EventHandlers.prototype = Object.create(null);
this._events = new EventHandlers();
The second kind :this._events = {};
When it comes to performance, it generally refers to time , In a broad sense, it does contain space , But generally, when there is no special explanation, it only refers to time .
But there is something wrong with what the article says , This kind of writing is not similar to obj = {}
Faster than , It's the heel obj = Object.create(null)
Faster than ( The English annotation on your screenshot clearly says ). Follow obj = {}
Not at all 、 It must be obj = {}
The slowest , The reason is simple , Because the members of the prototype chain have to be copied , There are also additional costs .
In fact, you can ignore it now , The article you read should have been released very early , This is the Node.js 6.x Pre era practice , At that time V8 Not yet Object.create
Make optimization , So if you have this type, you need to use a custom empty type hacked Writing .
Actually, you're going to see Node.js 8.x Later source code , You'll find that this place has been changed back to Object.create(null)
了 .
When it comes to performance, it generally refers to time , In a broad sense, it does contain space , But generally, when there is no special explanation, it only refers to time .
But there is something wrong with what the article says , This kind of writing is not similar to obj = {}
Faster than , It's the heel obj = Object.create(null)
Faster than ( The English annotation on your screenshot clearly says ). Follow obj = {}
Not at all 、 It must be obj = {}
The slowest , The reason is simple , Because the members of the prototype chain have to be copied , There are also additional costs .
In fact, you can ignore it now , The article you read should have been released very early , This is the Node.js 6.x Pre era practice , At that time V8 Not yet Object.create
Make optimization , So if you have this type, you need to use a custom empty type hacked Writing .
Actually, you're going to see Node.js 8.x Later source code , You'll find that this place has been changed back to Object.create(null)
了 .
版权声明:本文为[segmentfault]所创,转载请带上原文链接,感谢。 https://primo.wiki/2022/131/202205111331073371.html