Andrei Nikitin
прям стало интересно ваш взгляд на то как работают области видимости, откуда они берутся и какие в связи с их работай накладываются ограничения.
Посмотрел спеку... на стадии парсинга она не делает различий, там просто в OrdinaryFunctionCreate выставляется флаг в ф-цию F.[[ThisMode]] = lexical, что делать с this.
Но при вызове, действительно легче (по спеке)... OrdinaryCallBindThis (который шагом в вызове является), пропускает почти всё, если F.[[ThisMode]] == lexical