Section 2.4 is a better synopsis of browser logic than I have found. I still need more. Perhaps it should say “shared nothing mutable” rather than “shared nothing”. Markm tells me the phrase comes from Erlang.
I find the semantics of Q confusing. I do not see how such an action can happen in an event loop system. I thought the stack had to be empty when communication happened. Perhaps Q is not a normal subroutine.
Somewhere you might need to say that all identifiers are in some outer scope. This is actually in contrast to the ‘global’ notion. I remember being surprised at this first with Algol 68. ‘Global’ is still a good short cut.
I think that a property belongs not to a symbol but to an object. I think that a property of an object serves as a method on that object. I spent some time with the ES6 manual and could neither confirm nor refute these.
Also that manual does not explain promises.