Итак, я был back-end разработчиком, работающим с GO (golang) и Python, честно говоря, я был чистым backend-инженером, отвечающим за back-end систему, скрипт, а иногда и за деплой. Но поскольку технологический стек умножается с помощью JavaScript, я подумал, что сейчас самое время изучить новые инструменты, такие как ES6, React и NodeJs. Затем я начал свое путешествие с JavaScript.
Фаза 0. Изучение JavaScript с базовой концепцией.
Как разработчик GO/Python я уже был знаком с синтаксисом и структурой, но мне было немного легко перейти от языка со статической типизацией к языку динамическому, потому что у меня был неплохой опыт работы с python. Но да, JavaScript имеет свою структуру, собственные вещи, такие как цикл событий, стек вызовов, контекст выполнения и т. д. Поэтому сначала я начал изучать ядро, например контекст выполнения. Как это работает, что такое цикл событий, как стек вызовов работает в целом. основная концепция JavaScript. Вот список, который я составил в этом разделе.
- Контекст выполнения.
- Цикл событий.
- Стек вызовов.
- Область видимости и переменные.
- Переменная среда ( Let, Const, Var ).
- Область действия блока.
- Закрытие.
- Функции (Высшего порядка, Анонимный, Обратный вызов)
- Методы массива, фильтрация, уменьшение, сопоставление.
- Знакомство с двигателем V8.
- Как работает асинхронный JS.
- Как работает Класс.
- Зачем веб-пак (нужен бабел).
- API браузера, окно, это.
- и т. д.
Изучив эти вещи, у меня в голове сложилась вся архитектура JavaScript. Какая крутая штука. Почему V8 такой крутой? V8: это высокопроизводительный движок Google с открытым исходным кодом на JavaScript и WebAssembly, написанный на C++. Он используется в Chrome и NodeJs.
Как однопоточный синхронный JavaScript работает как асинхронный многопоточный язык и насколько хорошо работает контекст выполнения.
Наконец, эта основная концепция помогла мне перейти ко второй фазе, где я изучил ES6. Скоро выложу вторую фазу. Пожалуйста, сообщите мне, если есть какая-либо ошибочная информация или ошибки.