Search code examples
javascriptecmascript-2016ecmascript-nextecma

Is the intrinsic object creation order mentioned by the ECMAScript Specification defined somewhere?


This is a question regarding the latest revision of ECMA-262. At https://tc39.es/ecma262/#sec-createintrinsics it says

The creation of the intrinsics and their properties must be ordered to avoid any dependencies upon objects that have not yet been created.

Is there somewhere a specific order defined or do implementers have to figure this out on their own?

I'm asking because that would be nice to have and would be a good fit for the Appendix. But maybe I missed it somehow.

Thanks for reading and warm regards!


Solution

  • No, there is no specific order. It is not observable by user code, so it does not matter at all.

    Implementers have to decide this on their own. There are many possible orders. You even may create objects and their properties separate from each other, as there are circular references (e.g. between a .prototype and its .constructor, or between Function and Object).