Skip to content

Latest commit

 

History

History
22 lines (13 loc) · 4.12 KB

File metadata and controls

22 lines (13 loc) · 4.12 KB

Вы не знаете JS: Асинхронность и Производительность

Введение

Мой работодатель доверяет мне проводить собеседования на протяжении многих лет. Если мы ищем JavaScript разработчика, то я начинаю опрос с…, нет, не начинаю, я сначала узнаю не нужно ли моему потенциальному коллеге выйти в туалет и/или попить, потому что важна комфортная обстановка, а потом я начну задавать вопросы, чтобы узнать: "Он знает JavaScript или jQuery".

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

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

Сначала мы познакомимся с обратными вызовами (callbacks), а в дальнейшем и с обещаниями (promises).

Если вы ничего не знаете о обещаниях (promises), сейчас самое время это исправить. Обещания теперь стандарт использования асинхронности в JavaScript и DOM. Все будущие DOM API будут использовать обещания (promises), многие уже это делают, так что будьте готовы! В момент написания этой книги, обещания (promises) поддерживаются в основных браузерах Подробнее, а IE уже на подходе. Я надеюсь, что после изучения у вас останется место для следующего курса про генераторы.

Генераторы пробрались в стабильные версии браузеров Chrome и Firefox, от них больше головной боли, чем пользы. Именно так я думал пока не увидел их в вместе с обещаниями (promises). Там они стали важным инструментом в читабельности и поддержке кода.

На десерт, я не буду портить сюрприз, приготовьтесь увидеть будущее JavaScript! Особенности, которые дают вам больше контроля над параллельностью и асинхронностью.

Что ж, я больше не буду задерживать вас от прочтения этой книги. Если вы уже прочитали часть книги перед тем, как прочитать это предисловие, то дайте себе 10 очков по асинхронности! Вы действительно их заслуживаете!

Джейк Арчибальд
jakearchibald.com, @jaffathecake
Google Chrome Разработчик