Зачем использовать ES6 в браузерах

У меня есть проект Node.js, в котором я использую синтаксис ES6 на сервере и синтаксис не-ES6 на стороне браузера. Я также пытался использовать синтаксис ES6 в браузере, но затем у меня возникли проблемы при посещении веб-сайта на iPhone, поэтому я вернулся к "старому синтаксису JavaScript".

Я могу из кода Bootstrap на Github увидеть, что они используют ES6 (const, функции стрелок и т. Д.) В коде для Bootstrap v4.

Разумно ли избегать использования синтаксиса ES6, пока все используемые браузеры не поддержат его? Я предполагаю, что всегда будут использоваться несколько браузеров, которые не поддерживают новый синтаксис, так почему же кто-нибудь посмел бы перейти на новый синтаксис? Я знаю, что это будет очень мало, но поскольку все, что возможно с ES6, возможно и без ES6, я не понимаю, как это может стоить использовать новый синтаксис для потери потенциальных клиентов на моем сайте.

Существуют ли сценарии, которые могут гарантировать, что все браузеры моих посетителей поддерживают ES6?

1 ответ

Решение

Разумно ли избегать использования синтаксиса ES6, пока все используемые браузеры не поддержат его?

На самом деле, нет. Вы можете перенести его, например, с помощью babel (это то же самое, что Bootstrap v4, который вы поднимаете в качестве примера).

На самом деле вы можете захотеть перейти с babel, даже если вы гарантированно используете современную среду выполнения JS, чтобы использовать еще не стандартизированные языковые функции. Дело не в новых видимых для пользователя функциях, а в производительности программиста, которую вы можете повысить во многих отношениях с ES6.

В этом блоге вы найдете четкие инструкции о том, как перенести предназначенный для браузера код с помощью babel, например.

поскольку все возможности, которые возможны с ES6, возможны и без ES6, я не понимаю, как можно использовать новый синтаксис для потери потенциальных клиентов на моем веб-сайте.

На момент написания статьи это довольно важный шаг, если только вы не знаете, что пишете для определенной среды выполнения JS (например, гибридного веб-браузера / настольного компьютера или мобильного приложения, основанного на известной версии WebKit / JavaScriptCore).

Использование абстракций, скрывающих различия в платформах, было важным в течение многих лет, а также для многих API, которые теперь присутствуют практически во всех современных браузерах, особенно (но не ограничиваясь ими) более старых версий IE, так что вы будете долго переноситься, если для ваших целей старые версии браузера имеют значение. Тем не менее, это не должно помешать вам получить преимущества в производительности!

Другие вопросы по тегам