@@new

Boris Zbarsky bzbarsky at MIT.EDU
Tue Jun 17 20:00:31 PDT 2014


On 6/17/14, 8:47 PM, Allen Wirfs-Brock wrote:
> You mean, the already initialized checks which fall out of objects having distinct allocation and initialization functions.  Those checks only occur in functions that directly access private internal state of built-in oibjects.

I should note that for typical "DOM" (not just nodes; pretty much every 
non-ES-builtin in the web platform) this is every single function.  And 
that the current separation of allocation and initialization means that 
for these objects we have the following choices (probably on a 
per-object-class basis):

1)  Make the object not subclassable.
2)  Make the object subclassable and have WebIDL this value handling
     perform some sort of "is initialized" checks.
3)  Make the object subclassable and have specification prose for all
     its methods/properties perform "is initialized" checks.

#1 is generally undersirable, #3 requires a level of understanding of ES 
guts on the part of web spec authors that I suspect is not present and 
might be hard to achieve (and in particular requires them to explicitly 
opt in to making things subclassable).

Even #2 is a bit of a pain in terms of requiring extra work on every 
single thing you do, which is not all that great from a performance 
standpoint.

If we _can_ have a world in which web platform objects don't exist in 
constructed-but-not-initialized states, I personally would much prefer 
that....

-Boris


More information about the es-discuss mailing list