Opened on 06/09/2014 at 11:04:02 AM
Closed on 06/27/2014 at 05:17:49 PM
Last modified on 05/20/2015 at 02:22:39 PM
#656 closed change (fixed)
Replace __proto__ with Object.create
Reported by: | tschuster | Assignee: | tschuster |
---|---|---|---|
Priority: | Unknown | Milestone: | Adblock-Plus-2.6.4-for-Firefox |
Module: | Adblock-Plus-for-Firefox | Keywords: | |
Cc: | trev, sebastian | Blocked By: | |
Blocking: | #427 | Platform: | Firefox |
Ready: | no | Confidential: | no |
Tester: | Verified working: | no | |
Review URL(s): |
Description
I am not yet 100% sure if we should really do this. Especially because code like this becomes ugly:
Foo = function () {} Foo.prototype = { __proto__: Bar.prototype, foo: 1 } /* vs. */ Foo = function () {} Foo.prototype = Object.create(Bar.prototype) Foo.prototype.foo = 1; Foo.prototy ... ...
Attachments (0)
Change History (6)
comment:1 Changed on 06/10/2014 at 09:32:07 AM by sebastian
- Cc trev sebastian added
comment:2 Changed on 06/12/2014 at 11:50:42 AM by trev
There are some cases where it makes sense to use Object.create(), especially {__proto__: null}. However, wherever we use it to build up class hierarchies we should better wait for typed objects.
comment:3 Changed on 06/23/2014 at 08:47:57 AM by tschuster
- Owner set to tschuster
- Review URL(s) modified (diff)
comment:4 Changed on 06/27/2014 at 05:17:49 PM by tschuster
- Resolution set to fixed
- Status changed from new to closed
comment:5 Changed on 07/15/2014 at 05:05:56 PM by trev
- Component changed from Unknown to Adblock-Plus-for-Firefox
- Milestone set to Adblock-Plus-for-Firefox-next
- Platform set to Firefox/Firefox Mobile
comment:6 Changed on 05/20/2015 at 02:22:39 PM by philll
- Platform changed from Firefox/Firefox Mobile to Firefox
Made Firefox and Firefox mobile available as seperate platforms.
Note: See
TracTickets for help on using
tickets.
For reference: __proto__ is deprecated.
But I agree that using Object.create() makes code less readable in particular when using getter/setter: