TGViewer
As For JS As For JS @asforjavascript · 3.07K subscribers
Post #603 3.31K
относительно дополнительных окружений, которые стали создаваться после появления let и const.


Всегда следует помнить, что агент может реализовывать спецификацию как ему вздумается. Важно совпадение результатов работы на выходе.

При єтом, агенту надежнее повторять архитектуру диктуемую спецификацией, так как єто гарантирует что при появлении чего-то нового в ней(спецификации), єто не вступит в противоречие с "особой" реализацией агента.


В случае создания дополнительных окружений, для обеспечения работы let/const на уровне block statement, авторы спецификации упоролись настолько, что єто перешло все допустимые рамки.

И, например, v8 игнорирует єтот аспект, рабоая так же, как он работал до єтого - функция имеет свое окружение все остальное от лукавого.

При єтом v8 предпринимает СВОИ шаги для обеспечения работы безобразия, названного let и const.

То есть v8 в нарушение спецификации никаких доп-окружений для блок стейтмент и случаев let/const не создает. Ибо нефиг.


Как єто делает v8 можно посмотреть в байткоде. Он делает єто просто, костыльно и гениально. Авторам спеки следует поучиться.
  • 🔥 18
  • ❤ 9
  • 😍 5
  • 👍 3
More from @asforjavascript
  1. Oct 15, 2026Люди любят тех, кто помогает им, любить себя.
  2. Oct 14, 2026Кому нечем заняться и хочется подумать. Как, согласно современному HTML5 должна быть разоб…
  3. Oct 14, 2026https://music.youtube.com/watch?v=y7TOV4AvKJs&si=QbHucJbQ2swJi-0G
  4. Oct 13, 2026Тимур Шемсединов раскопал в записях еще один эфир второго в мире JS радио. Было это недели…
  5. Oct 11, 2026Гениальный Кирилл Львович Масленников о темной материи полтора часа кайфа https://youtu.be…
  6. Oct 10, 2026Два дня назад, в возрасте 90 лет умерла Маргарет Гамильтон. В один из критических моментов…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →