Javascript — сложный язык, большинство компаний/веб-сайтов/блогов попросят вас просто изучить достаточно JS, чтобы создать функциональность веб-сайта. Но так ли это? Ваш код легко читается, понимается и, самое главное, легко расширяется для других разработчиков, является ли он масштабируемым?
Чтобы ответить на вышеизложенное, вам важно освоить Javascript и понять, что можно и чего нельзя делать с языком, когда вы пишете код для своих веб-приложений.
Прежде чем мы начнем рассматривать темы, я хотел бы привести известную цитату о Javascript:
Не смотрите на Javascript как на инструмент, смотрите на него как на язык.
Это означает, что нужно углубиться в Javascript, заглянуть под капот, посмотреть на различные концепции языка.
Некоторые важные концепции языка, которые вы должны освоить:
- Циклы событий,
- Расписание и очередь
- Управление памятью
- Записи активации
- функциональные объекты
- Вложение объектов
- Закрытия
- Как работают асинхронные слушатели
- Обходы DOM
- ЕС 6/7/8 и т.д.
Это первая часть изучения важных понятий. Теперь изучите шаблоны проектирования, все отличные веб-сайты используют какой-либо шаблон проектирования, следующие шаблоны проектирования жизненно важны для любого разработчика Javascript:
- Креативные шаблоны проектирования: Фабрика, Абстракция, Прототип и Синглтон.
- Шаблоны структурного проектирования: декоратор, легковес и прокси.
- Шаблоны поведенческого проектирования: итератор, наблюдатель, состояние, посетитель.
- Шаблоны архитектурного проектирования: MVC, MVP, MVVM (основы почти всех фреймворков).
Попробуйте создать простой MVC для Javascript, для этого есть много ссылок в Google.
После того, как вы достигнете этого, изучите фреймворки, их приложения и варианты использования, а когда закончите с этим, загляните под капот этих фреймворков и посмотрите, как они работают. Например, двусторонняя привязка данных в компонентах Angular, Flux, React и Shadow DOM в реагировать и т.
В конце концов, хороший разработчик JS не будет измеряться количеством фреймворков, которые он знает, он всегда будет сводиться к освоению основ, их применению и пониманию.