Автор оригинала: FreeCodeCamp Community Member.
Целью данного поста состоит в том, чтобы подчеркнуть важность основателей JavaScript для каждого интерфейсного разработчика. Я собираюсь сказать вам, почему вы должны иметь хорошее знание чистого ( Vanilla ) JavaScript. Это означает JavaScript без каких-либо дополнительных рамки или библиотек.
Я также упомяну пару ресурсов, которые помогли мне узнать эти основы.
Другая причина этого поста заключается в том, что многие стремительные веб-разработчики, как правило, пропускают изучение концепций JavaScript JavaScript, такие как подъемные, закрытыми или прототипы. Они идут прямо в самые горячие рамки, такие как реагирование или угловые 2. Я покажу вам, почему этот подход не самый удобный.
Все хотят разработчиков со знанием $ {Addthehotframework} …
Итак, есть ли какие-либо причина, почему вы должны беспокоить ванильный JavaScript?
Трудно стать сильным разработчиком без знания о ядре самого языка. Так же, как вам нужно понять фундаментальные принципы закона, прежде чем вы сможете прыгнуть в определенную область закона. Это сравнение чисто случайно. ?
Я понимаю, что большинство начинающих веб-разработчиков хотят нанять как можно скорее. Я тоже хотел этого.
Кажется, гораздо проще проделать круговой курс на основах JavaScript, прыгать в какую-то необычные рамки, сделать список Todo ( Пусть щенок умирает ), загрузите его в Github, затем начните искать работу.
… но время вкладывания в ванильном JavaScript окупится в долгосрочной перспективе
Не поймите меня неправильно здесь. Я никак не председался против рамок JavaScript. Это точно противоположное. Многие из них помогают вам написать более читаемый и поддерживаемый код. Они позволяют вам написать более абстрактный код, который часто легче отлаживать.
Но экосистема JavaScript развивается довольно быстро. Новые рамки создаются. Новые функции добавляются в существующие. И самое главное, многие из сегодняшних самых горячих каркасов в конечном итоге будут заменены, такие как угловые 1.
В таких обстоятельствах вы все равно думаете, что знание определенного JavaScript Framework достаточно для веб-разработчика?
Или лучше понять, как язык, который все эти библиотеки и рамки основаны на работах под капотом?
Если вы обладаете солидными знаниями об основах JavaScript, Единственное, что вам нужно, чтобы узнать о том, чтобы начать работу с новой структурой, это его синтаксис Отказ Основные правила будут одинаковыми, поскольку при всех слоях абстракций. Это все еще просто просто ol ‘JavaScript.
Если ваши знания ограничены только одному JavaScript Framework, вам будет трудно изучить новый. Различные рамки часто основаны на другом наборе принципов JavaScript. В долгосрочной перспективе вы потратите больше времени, пытаясь понять различные рамки и отладки кода, который вы пишете в них.
Все драйверы и библиотеки JavaScript неизбежно основаны на его ванильном ядре.
Это должно убедить кого-то, что знание чистого JavaScript – это должен в долгосрочной перспективе. Это предпосылка для любого успешного разработчика, особенно для одного, в основном в экосистеме JavaScript.
Личный опыт
Не так давно я оглянулся на мой путешествие от адвоката до веб-разработчика. Это уже было 18 месяцев с тех пор, как я написал свою первую функцию JavaScript, и мой 10-й месяц работаю в качестве профессионального разработчика переднего конца.
Я до сих пор помню, как это было сложно для меня, чтобы обнаружить правильный способ изучения JavaScript, поскольку у меня не было предыдущего опыта программирования. Я пытался (и все еще пытаюсь) много разных способов стать эффективным учащимся. Некоторые из них были более полезными, некоторые из них меньше.
Самое главное, я не могу достаточно подчеркнуть, насколько это полезно для меня, что уделяю акцент на изучение чистого JavaScript с самого начала. Рамки пришли позже.
На данный момент я работаю с Реагировать – Redux куча. Даже так я часто встречаюсь с проблемой, которую я могу решить благодаря своим знаниям ванильного JavaScript. Эти ошибки были бы гораздо более сложными для решения только о знании конкретной структуры.
ИЗУЧЕНИЕ ИЛИ УЧЕБНЫЙ ИЛИ УГЛУГ 2 не научат вас, что объекты проходят посредством ссылки или как работает закрытие. Попытка понять эти концепции под абстракцией, привлеченными рамками, гораздо сложнее. Это делает простые концепции JavaScript более сложными для понимания.
Кроме того, если вы работаете с Jsx (Реагировать, Vue, Inferno) или Tymdercript (Угловые 2), у вас есть другой слой абстракции сверху.
Если вы хотите понять, как эти рамки работают под капотом, вам нужно знать, насколько сам JavaScript работает первым.
Вы можете Проверьте свои знания чистого JavaScript считывая исходный код вашей любимой структуры. Это не только даст вам фотографию того, как она работает под капотом, он также будет научить вас о своей логике, который вы можете использовать в своем собственном коде. Вы увидите функции этой рамки, которые, по-видимому, делают много магии в вашем приложении, являются лишь композициями основных концепций JavaScript.
Дай мне что-нибудь, я могу учиться
Вопрос, который вы можете попросить сейчас – «Каковы хорошие ресурсы, которые могут помочь мне приобрести приличные знания ванильного JavaScript?».
Есть тонны курсов и книг о JavaScript и его рамках. Тем не менее, некоторые из них стремятся научить вас ванильным JavaScript всеобъемлющим образом. Большинство из них специализируются на конкретную технологию JavaScript.
Но есть еще несколько хороших …
Красноречивый JavaScript научит вас не только основы JavaScript, но и основы программирования в целом. Если вы уже являетесь продвинутым разработчиком, эта книга предоставит вам свежую перспективу на JavaScript и его основные принципы.
Еще один отличный ресурс – это книжная серия Вы не знаете JavaScript (YDKJS) от Кайла Симпсона. Кайл действительно знает, как учить. Его объяснения расширенных концепций JavaScript являются новичками, и он охватывает их углубленным. Простые названия книг дадут вам намек на то, что вы собираетесь учиться. «Up & Going», «Область охвата и закрытия», «Это и объектные прототипы», «Типы и грамматики», «Async & Performance», «ES6 и выше». Также есть новая 7-я книга о Функциональное программирование в JavaScript Отказ
Одна из великих вещей о красноречивом JavaScript и YDKJS в том, что Вы можете получить их бесплатно (Проверьте предоставленные ссылки). Но если вы действительно найдете их полезными, не забудьте поддержать авторов, покупая их.
Если вы больше видео курса, вы можете посмотреть Kyle’s Online курсы Отказ Я думаю, что лучшее, что вы можете сделать, это смотреть их как компаньон к своим книгам, поскольку темы одинаковы. Однако эти курсы оплачиваются.
Еще один вид видео, который я нахожу полезным, это JavaScript: понимание странных частей Энтони Алической. Это объясняет, что происходит под капотом JavaScript доступным. Он охватывает продвинутые концепции, такие как прототипное наследование, функциональные программирование и цепочки применения.
Узнайте ванильный JavaScript, сейчас
Если вы инвестируете свое драгоценное время в изучении ванильного JavaScript, вы не пожалеете об этом. Он не только содержит слово Ваниль Но это будет полезное влияние на навыки программирования.
Для меня лучшее компромисс – это то, что изучение чистого JavaScript даст вам гораздо больше в долгосрочной перспективе, чем время вкладывания в определенные рамки. Рамки просто ярлыки. Под капотом это все JavaScript.
Вы увидите для себя в ситуации, когда операция, которую вы используете, имеет некоторое неожиданное поведение. В таком случае вы будете вынуждены исследовать эту ошибку, пройдя через исходный код. Я упоминал, что хотя многие рамки не хватает достойной документации, у них довольно сложный код? Но эй, кусок пирога, верно? Вы, безусловно, уже провели много времени обучения ванильным JavaScript. Или пока не?
Если вы помните только одну вещь из этого поста:
Всегда не думайте, что знание Vanilla JavaScript поможет вам стать гораздо лучшим разработчиком. Период.
Если вам понравилась эта статья, дайте ему несколько хлопов. Буду весьма признателен за это.
Этот пост был Первоначально опубликовано в моем блоге Отказ
Увидимся в Twitter?
Дэвид Копал (@coding_lawyer) | Twitter Последние твиты из Дэвида Копала (@coding_lawyer). передний разработчик @ataccama | Бывший адвокат | Blogger … twitter.com.