Требуется ли еще Вавилон в 2018 году?

Я изучаю JavaScript прямо сейчас, а некоторые говорили, что после того, как я изучил HTML и CSS и ванильный Javascript, мне нужно знать о ES6/ES2015. Когда я смотрю учебники на Youtube, он говорит, что нам нужен Babel или что-то в этом роде для браузера, чтобы прочитать его. Поэтому мне интересно, потому что это видео не так уж и старое (но все же старое). Разве все еще необходимо, чтобы Вавилон или я пропустили этот Вавилон?

Ответ 1

Babel является компилятором JavaScript-к-JavaScript, иногда называемым транспилером, который преобразует код, написанный с одним набором функций (например, в ES2015 и более поздних), в код, который можно запускать в среде JavaScript, которая не поддерживает эти функции. (Есть и другие, Вавилон - один из самых популярных).

Используете ли вы Babel для перевода вашего кода ES2015+ на ES5, полностью зависит от вас и зависит от того, какие целевые среды вы хотите поддерживать. Если вы хотите, например, поддерживать любую версию IE (включая IE11), вам нужно будет перекрыть. Если вам нужно только поддерживать самые современные Chrome, Firefox и Edge или другие среды, где вы можете рассчитывать на те функции, которые вы используете (например, на современные установки Node.js), вы этого не делаете.

У Kangax есть набор удобных таблиц, для которых используются движки JavaScript и/или браузеры, какие из более современных функций JavaScript (а не только ES2015, но ES2016, ES2017 и т.д.).

Вавилон (и инструменты, подобные ему) полезны помимо использования только самых недавно стандартизованных функций по крайней мере двумя способами:

  1. Вы можете использовать Babel (и аналогичный), чтобы воспользоваться преимуществами функций, которые, скорее всего, будут стандартизированы в ближайшее время, хотя они пока не очень хорошо поддерживаются. Например, основы открытых классов классов не изменились в течение длительного времени, но предложение, в котором они находятся, по- прежнему (начиная с этого письма в июне 2018 года) на этапе 3 (и было между и вторым этапом 2 и Этап 3 пару раз) по причинам, не связанным с полями общедоступного класса, и даже не самые современные браузеры, такие как Chrome, Firefox и Edge, поддерживают поля public class. Но в наши дни, как правило, использовать поля классов через транспилер.

  2. Вы можете написать собственное преобразование Babel (или аналогичного), чтобы добавить свои собственные функции в JavaScript для вашего собственного проекта (или использовать записи других людей), даже если эти функции никогда не будут частью JavaScript или использованы вне вашего проекта.

Ответ 2

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

Одним из способов является использование онлайн-REPL или игровой площадки. Одним из инструментов, которые мне нравятся, является https://stackblitz.com, этот веб-сайт позволяет вам почувствовать, как импортировать модули из числа npm чтобы помочь вашему коду. Если вы находитесь в Chrome, вы можете открыть консоль разработчика и просмотреть сообщения, отправленные с игровой площадки, в консоль разработчика.

https://developer.chrome.com/devtools

Вот площадка, которую я сделал, чтобы вы начали

https://stackblitz.com/edit/react-t3wxth?file=index.js