Я думал, что знаю JavaScript…

… пока я не провалил техническое собеседование, я думал, что прошел успешно!

Впервые я столкнулся с JavaScript, когда еще было круто использовать ViewSource для изучения того, как создается веб-сайт. Это было также время, когда JavaScript в основном использовался для операций с DOM. Поэтому в порыве мудрости я решил, что это некрасивый язык и учить его не стоит (неплохие знания PHP у меня уже были). Через несколько лет пришла моя первая стажировка, где я занимался разработкой гибридных мобильных приложений… на JavaScript! Во время этой стажировки я узнал, что JavaScript — это гораздо больше, чем просто DOM API, и мне это понравилось! Как сказал бы Эрик Эллиотт, в JavaScript есть чувство свободы, которое делает его фантастическим языком.

Несмотря на то, что я изучал компьютерные науки, JavaScript никогда не преподавался в классе (даже во время занятий по веб-разработке), и поэтому поначалу мой стиль был таким, что его можно было описать только как «копирование-вставка из StackOverflow». Я быстро узнал, что существует множество фреймворков, которые помогут вам кодировать на JavaScript, и поэтому я перешел к ним, активно используя jQuery, Backbone, Underscore и Require даже для самого тривиального фрагмента кода. И поскольку я мог создавать все эти замечательные приложения без каких-либо предварительных знаний языка, я думал, что я хорош… пока я не провалил техническое собеседование на должность младшего веб-разработчика по причине того, что им «не понравился мой стиль работы». программирование».

Итак, если вы находитесь на том этапе, когда вы использовали JavaScript в течение года или двух, не потратив времени на его изучение, и вы, наконец, нашли потребность или желание сделать это, вот мой небольшой совет:

  • Вернитесь к основам языка

Если вы изучили JavaScript так же, как я, вы, вероятно, имеете очень смутное представление об основах языка. Вы знаете, как что-то делать, потому что вы видели это в коде, который вы поддерживали, или потому что вы копировали и вставляли это десятки раз из StackOverflow. Поэтому типичные уроки для начинающих могут показаться вам слишком простыми. Тем не менее, вам понадобится быстрый и глубокий обзор языка! Не беспокойтесь, вот вам кое-что от доктора Акселя Раушмайера: http://speakingjs.com/.

  • … и дальше!

После того, как вы ознакомились с основами JavaScript, выйти за его рамки тоже не всегда легко. Существует не так много продвинутых материалов, которые не касаются только крошечных утомительных деталей языка.

Хорошим переходом было бы прочитать и послушать, что Дуг Крокфорд говорит о JavaScript, а затем просмотреть очень познавательную серию статей Вы не знаете JavaScript.

Кроме того, невероятно ценным источником информации является Mozilla Developer Network, куда я обращаюсь в любое время, когда мне нужно проверить, какие методы или свойства есть у нативного объекта, или в чем разница между call() и apply()!

И если вы думаете, что освоили все это, попробуйте это: http://ejohn.org/apps/learn/!

  • Будьте в курсе того, что происходит в сообществе

Наконец, старайтесь оставаться в курсе эволюции языка. Лично я очень ценю информационный бюллетень JavaScript Weekly, который собирает большую часть того, что происходит в сообществе, в простом электронном письме со ссылками на десятки статей в блогах.

Конечно, не забывайте также много экспериментировать, потому что я считаю, что нет лучшего способа учиться, чем делать!