Почему js-движки не стремятся поддерживать новые стандарты ECMAScript?
Релизы стандарта ECMAScript происходят каждый год, но js-движки поддерживают далеко не всю новую функциональность из новых стандартов. Какая есть причина сразу после выхода нового стандарта не вводить новые возможности в свои движки? Чтобы нам не приходилось использовать babel, почему бы сразу не поддерживать в своих движках (v8 и т.д) всё что вышло в новом стандарте? на текущий момент это ES2023
Дополнительно:
V8 — движок JavaScript с открытым исходным кодом
https://github.com/v8/v8
7,051 branches
27,912 tags
Пилите, разрешаем, сразу в день выхода новых стандартов можно добавлять пул реквесты)
Это наверно как два пальца, взял и сделал)
Не говоря уже про то что нет способа в мире чтобы каждый год обновлять все в мире устройства где может быть JS/ES использоваться.
Здесь тоже самое, бабели всякие это костыли, чтобы не переписывать движки, на которые годы ушли, из-за пары тройки изменений в год.
Ответы:
https://tc39.es/process-document/
Вообще-то всё строго наоборот. Что бы что-то попало в стандарт требуется его поддержка как минимум двумя независимыми движками.
Stage: 4
Two compatible implementations which pass the acceptance tests
Ну а дальше-то что? Кто обновит миллионы браузеров и кофеварок?
- про кофеварки понятно, но все браузеры можно обязать обновляться и всё
- pegas,
(◡‿◡✿)
Наивный гавайский юноша
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Существует несколько причин, почему js-движки не всегда стремятся поддерживать новые стандарты ECMAScript (ES). Во-первых, разработка новых стандартов требует времени и усилий, и не все компании, занимающиеся разработкой js-движков, могут позволить себе постоянно обновлять свои продукты.
Во-вторых, некоторые js-движки могут иметь устаревший код или архитектуру, которая затрудняет поддержку новых стандартов. В таких случаях разработчики могут столкнуться с трудностями при обновлении движка до новой версии ECMAScript.
Также стоит учитывать, что не все нововведения в стандарте ECMAScript могут быть полезны или необходимы для конкретного js-движка или проекта. Некоторые функции или изменения могут быть непрактичными или неудобными для использования в определенной среде.
Наконец, разработчики js-движков могут опасаться внедрения новых стандартов из-за возможных проблем совместимости с уже существующим кодом. Введение новых функций и синтаксиса может привести к ошибкам или конфликтам с существующими приложениями, что может создать проблемы для пользователей.
В целом, хотя поддержка новых стандартов ECMAScript важна для развития языка JavaScript, разработчики js-движков должны внимательно взвешивать плюсы и минусы обновлений, чтобы обеспечить стабильную и эффективную работу своих продуктов.