Почему для JS не создают новых директив в роде «use strict»?
Часто слышу, что JS медленно развивается, т.к. обязан поддерживать свое легаси "сложного детства", согласно правилу веба, а-ля "Ничего не должно ломаться"
Но, ведь, уже есть прецедент отсечения старых правил - это директива "use strict", почему же нельзя поступать аналогично, давая возможность указать, в какой версии языка написан скрипт, например: "use ecma2020", "use ecma11", "version: 2020", благодаря чему, можно будет производить более "агрессивные" изменения логики языка
Наверно, чего-то я еще не знаю?
Видимо, не для всех понятно, о чем тут написано...
Вы можете использовать фичи ES6 без «лишних» полифиллов. Тем самым отсечёте всякие старые браузеры.
Для личной сатисфакции добавить в начале кода якобы директиву: "Mr. Robot 2020";
Верно, но только, подразумевается, что: трудно добавлять, не убрав что-то мешающее
Ибо что бы там не написал - в старом браузере новые фичи магическим образом не появятся.)
Ну дык важно не поддерживать новый код в старом браузере, а старый код в новом браузере)
Тут и сейчас, с новыми версиями ничего не будет работать в древних браузерах
Это будет ещё больший ад чем есть сейчас. Даже представлять страшно какой расколбас синтаксиов, реализаций и багов по браузерам и по сайтам будет. Частично-совместимый, частично-несовместимый, частично-взаимопревращений... Брр.
Ну это понятно)
Я не говорю, что на каждую версию нужно свой компилятор создавать, я про парочку значительных рефакторингов логики, принципов и дизайна языка, дабы он был более лоялен к поллифилированию, например, и в принципе будущим апдейтов)