0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p><strong>Рассказываем, что это за язык программирования - JavaScript, где его используют, насколько он популярен и с чего начать изучение JavaScript.</strong></p>
1
<p><strong>Рассказываем, что это за язык программирования - JavaScript, где его используют, насколько он популярен и с чего начать изучение JavaScript.</strong></p>
2
<p>Раньше интерфейс сайтов состоял из текстов, ссылок и иллюстраций, а верстали его с помощью языков<a>HTML</a>и CSS.</p>
2
<p>Раньше интерфейс сайтов состоял из текстов, ссылок и иллюстраций, а верстали его с помощью языков<a>HTML</a>и CSS.</p>
3
<p>Все изменилось с созданием JavaScript. Этот язык программирования сделал сайты интерактивными - то есть удобными для пользователя. Появились кнопки, формы, поля ввода и многое другое.</p>
3
<p>Все изменилось с созданием JavaScript. Этот язык программирования сделал сайты интерактивными - то есть удобными для пользователя. Появились кнопки, формы, поля ввода и многое другое.</p>
4
<p>JavaScript (или по-другому JS) - это многофункциональный язык программирования. JavaScript используют не только для создания сайтов, но и для написания очень разных программ.</p>
4
<p>JavaScript (или по-другому JS) - это многофункциональный язык программирования. JavaScript используют не только для создания сайтов, но и для написания очень разных программ.</p>
5
<h2>Содержание</h2>
5
<h2>Содержание</h2>
6
<ul><li><a>Где используют JavaScript</a></li>
6
<ul><li><a>Где используют JavaScript</a></li>
7
<li><a>Популярность JavaScript</a></li>
7
<li><a>Популярность JavaScript</a></li>
8
<li><a>Перспективы JavaScript</a></li>
8
<li><a>Перспективы JavaScript</a></li>
9
<li><a>Сколько зарабатывают программисты на JavaScript</a></li>
9
<li><a>Сколько зарабатывают программисты на JavaScript</a></li>
10
<li><a>Что означает скрипт в названии JavaScript</a></li>
10
<li><a>Что означает скрипт в названии JavaScript</a></li>
11
<li><a>Чем JavaScript отличается Java</a></li>
11
<li><a>Чем JavaScript отличается Java</a></li>
12
<li><a>В чем особенности JavaScript</a></li>
12
<li><a>В чем особенности JavaScript</a></li>
13
<li><a>Преимущества JavaScript</a></li>
13
<li><a>Преимущества JavaScript</a></li>
14
<li><a>Недостатки JavaScript</a></li>
14
<li><a>Недостатки JavaScript</a></li>
15
<li><a>Пишем первую программу на JavaScript</a></li>
15
<li><a>Пишем первую программу на JavaScript</a></li>
16
<li><a>Насколько сложно выучить JavaScript</a></li>
16
<li><a>Насколько сложно выучить JavaScript</a></li>
17
<li><a>С чего начать изучать JavaScript</a></li>
17
<li><a>С чего начать изучать JavaScript</a></li>
18
</ul><h2>Где используют JavaScript</h2>
18
</ul><h2>Где используют JavaScript</h2>
19
<h3>Фронтенд веб-приложений</h3>
19
<h3>Фронтенд веб-приложений</h3>
20
<p>С помощью JavaScript разработчики создают веб-приложения - это программы, которые мы запускаем в браузере. К ним относятся почтовые клиенты, редакторы текста, социальные сети, видеохостинги и многое другое.</p>
20
<p>С помощью JavaScript разработчики создают веб-приложения - это программы, которые мы запускаем в браузере. К ним относятся почтовые клиенты, редакторы текста, социальные сети, видеохостинги и многое другое.</p>
21
<p>На JavaScript создают "внешний интерфейс" веб-приложений - фронтенд. С ним взаимодействует пользователь, нажимая на кнопки, плашки, меню.</p>
21
<p>На JavaScript создают "внешний интерфейс" веб-приложений - фронтенд. С ним взаимодействует пользователь, нажимая на кнопки, плашки, меню.</p>
22
<p>На JavaScript написан код для популярных сервисов вроде Google Maps, Google Docs, Netflix, eBay.</p>
22
<p>На JavaScript написан код для популярных сервисов вроде Google Maps, Google Docs, Netflix, eBay.</p>
23
<h3>Бэкенд веб-приложений</h3>
23
<h3>Бэкенд веб-приложений</h3>
24
<p>Кроме интерфейса, который видят пользователи, у веб-приложений есть и внутренняя часть - бэкенд. Это серверная часть приложения, в которой обычно хранятся базы данных.</p>
24
<p>Кроме интерфейса, который видят пользователи, у веб-приложений есть и внутренняя часть - бэкенд. Это серверная часть приложения, в которой обычно хранятся базы данных.</p>
25
<p>У JavaScript есть Node.js - это не отдельный язык программирования, а среда исполнения JavaScript-кода на стороне сервера. С ее помощью можно выполнять операции или обращаться к базам данным.</p>
25
<p>У JavaScript есть Node.js - это не отдельный язык программирования, а среда исполнения JavaScript-кода на стороне сервера. С ее помощью можно выполнять операции или обращаться к базам данным.</p>
26
<p>JavaScript в связке с Node.js используют известные компании PayPal и Walmart для взаимодействия со своими серверами.</p>
26
<p>JavaScript в связке с Node.js используют известные компании PayPal и Walmart для взаимодействия со своими серверами.</p>
27
<h3>Расширения для браузера</h3>
27
<h3>Расширения для браузера</h3>
28
<p>Браузерные расширения - это мини-программы, которые состоят из кода, исполняющегося в браузере. Расширения помогают нам блокировать рекламу, скачивать видео или подсчитывать время, проведенное в интернете. И почти все они написаны на JavaScript.</p>
28
<p>Браузерные расширения - это мини-программы, которые состоят из кода, исполняющегося в браузере. Расширения помогают нам блокировать рекламу, скачивать видео или подсчитывать время, проведенное в интернете. И почти все они написаны на JavaScript.</p>
29
<h3>Мобильные приложения</h3>
29
<h3>Мобильные приложения</h3>
30
<p>На JavaScript также пишут приложения для iOS и Android. Для этого есть специальные фреймворки - готовые наборы кода, "каркас" будущих приложений.</p>
30
<p>На JavaScript также пишут приложения для iOS и Android. Для этого есть специальные фреймворки - готовые наборы кода, "каркас" будущих приложений.</p>
31
<p>JavaScript-фреймворки вроде React Native помогают адаптировать код под мобильные платформы. Это позволяет создавать кроссплатформенные приложения - работающие и под iOS, и под Android - без необходимости нанимать разработчиков для каждой из этих систем и создавать две версии приложения.</p>
31
<p>JavaScript-фреймворки вроде React Native помогают адаптировать код под мобильные платформы. Это позволяет создавать кроссплатформенные приложения - работающие и под iOS, и под Android - без необходимости нанимать разработчиков для каждой из этих систем и создавать две версии приложения.</p>
32
<p>На JavaScript написаны мобильные приложения Groupon и LinkedIn.</p>
32
<p>На JavaScript написаны мобильные приложения Groupon и LinkedIn.</p>
33
<h3>Игры</h3>
33
<h3>Игры</h3>
34
<p>На JavaScript можно также писать простые игры. Обычно это браузерные бродилки, но иногда встречаются и интересные инди-проекты вроде "2048", PixelDefense, BrowserQuest.</p>
34
<p>На JavaScript можно также писать простые игры. Обычно это браузерные бродилки, но иногда встречаются и интересные инди-проекты вроде "2048", PixelDefense, BrowserQuest.</p>
35
<p>Также существует Unity3d - среда сценариев для игры на основе JavaScript, которая работает вне браузеров.</p>
35
<p>Также существует Unity3d - среда сценариев для игры на основе JavaScript, которая работает вне браузеров.</p>
36
<h3>Машинное обучение</h3>
36
<h3>Машинное обучение</h3>
37
<p>Чаще всего в машинном обучении используют другие языки программирования, например Python. Однако иногда для этого применяют и JavaScript. Например, когда создают веб-приложения, включая те, которые визуализируют данные из моделей машинного обучения. Или когда пишут веб-страницу с формой, которая отправляет данные на сервер для обработки моделью машинного обучения.</p>
37
<p>Чаще всего в машинном обучении используют другие языки программирования, например Python. Однако иногда для этого применяют и JavaScript. Например, когда создают веб-приложения, включая те, которые визуализируют данные из моделей машинного обучения. Или когда пишут веб-страницу с формой, которая отправляет данные на сервер для обработки моделью машинного обучения.</p>
38
<p>Также для JavaScript уже написано несколько библиотек, - готовых наборов кода - на основе которых можно создать свою нейросеть. Это, например, Brain.js, Deep playground, Synaptic или FlappyLearning.</p>
38
<p>Также для JavaScript уже написано несколько библиотек, - готовых наборов кода - на основе которых можно создать свою нейросеть. Это, например, Brain.js, Deep playground, Synaptic или FlappyLearning.</p>
39
<h3>Базы данных</h3>
39
<h3>Базы данных</h3>
40
<p>У JavaScript есть собственный инструмент Mongoose, позволяющий работать с популярной СУБД (системой управления базами данных) MongoDB. Есть и базы данных, например, Clusterpoint, к которым можно писать запросы на JavaScript.</p>
40
<p>У JavaScript есть собственный инструмент Mongoose, позволяющий работать с популярной СУБД (системой управления базами данных) MongoDB. Есть и базы данных, например, Clusterpoint, к которым можно писать запросы на JavaScript.</p>
41
<p>Также есть<a>GraphQL</a>- язык структурированных запросов, позволяющий обращаться к базам данных. Он работает с React и другими популярными фреймворками JavaScript.</p>
41
<p>Также есть<a>GraphQL</a>- язык структурированных запросов, позволяющий обращаться к базам данных. Он работает с React и другими популярными фреймворками JavaScript.</p>
42
<h3>Интернет вещей</h3>
42
<h3>Интернет вещей</h3>
43
<p>JavaScript используют и в Интернете вещей (Internet of Things, IoT) - это способ обмена информацией между устройствами, подключенными к одной сети. Примеры таких устройств нам хорошо знакомы: умные часы, фитнес-трекеры, пожарная сигнализация. Для них пишут программы на JavaScript с использованием фреймворков Cylon.js и Johnny-Five.</p>
43
<p>JavaScript используют и в Интернете вещей (Internet of Things, IoT) - это способ обмена информацией между устройствами, подключенными к одной сети. Примеры таких устройств нам хорошо знакомы: умные часы, фитнес-трекеры, пожарная сигнализация. Для них пишут программы на JavaScript с использованием фреймворков Cylon.js и Johnny-Five.</p>
44
<h2>Популярность JavaScript</h2>
44
<h2>Популярность JavaScript</h2>
45
<p>JavaScript регулярно входит в топы самых распространенных языков программирования. Согласно<a>индексу TIOBE</a>(создан на основе поисковых запросов) на сентябрь 2023 JavaScript занимает шестое место.</p>
45
<p>JavaScript регулярно входит в топы самых распространенных языков программирования. Согласно<a>индексу TIOBE</a>(создан на основе поисковых запросов) на сентябрь 2023 JavaScript занимает шестое место.</p>
46
<p>Еще интереснее<a>исследование</a>GitHub - это облачная площадка для хостинга IТ-проектов, которую используют почти все разработчики. Сервис собирает репрезентативную статистику по языкам программирования от профессионалов.</p>
46
<p>Еще интереснее<a>исследование</a>GitHub - это облачная площадка для хостинга IТ-проектов, которую используют почти все разработчики. Сервис собирает репрезентативную статистику по языкам программирования от профессионалов.</p>
47
<p>По данным GitHub, JavaScript совместно с TypeScript контролирует уже треть рынка разработки. В рейтинге языков для коммерческого использования он получил почетное первое место. На нем пишут 19% респондентов.</p>
47
<p>По данным GitHub, JavaScript совместно с TypeScript контролирует уже треть рынка разработки. В рейтинге языков для коммерческого использования он получил почетное первое место. На нем пишут 19% респондентов.</p>
48
<p>Интересно, что доля применения JavaScript за последние два года растет не только на фронтенде, но и на бэкенде. Сейчас JavaScript занимает седьмое место по популярности для бэкенда и первое для фронтенда. Причем на фронтенде он занимает 64,6% рынка.</p>
48
<p>Интересно, что доля применения JavaScript за последние два года растет не только на фронтенде, но и на бэкенде. Сейчас JavaScript занимает седьмое место по популярности для бэкенда и первое для фронтенда. Причем на фронтенде он занимает 64,6% рынка.</p>
49
<p>В сегменте фулстек-разработки (то есть и фронтенда, и бэкенда) JavaScript занимает второе место и долю рынка в 20,6%.</p>
49
<p>В сегменте фулстек-разработки (то есть и фронтенда, и бэкенда) JavaScript занимает второе место и долю рынка в 20,6%.</p>
50
<h2>Перспективы JavaScript</h2>
50
<h2>Перспективы JavaScript</h2>
51
<p>На JavaScript написаны огромные массивы кода. Переписать их вряд ли возможно в короткие сроки, да и пока незачем. А значит, в ближайшем будущем будут востребованы и специалисты, способные работать с JavaScript и поддерживать на нем программы.</p>
51
<p>На JavaScript написаны огромные массивы кода. Переписать их вряд ли возможно в короткие сроки, да и пока незачем. А значит, в ближайшем будущем будут востребованы и специалисты, способные работать с JavaScript и поддерживать на нем программы.</p>
52
<p>Вокруг JavaScript сформировалась огромная экосистема библиотек и фреймворков, таких как React, Angular, и Vue.js. Эти инструменты делают разработку более эффективной. Владение ими - обязательное требование, которое есть во многих вакансиях.</p>
52
<p>Вокруг JavaScript сформировалась огромная экосистема библиотек и фреймворков, таких как React, Angular, и Vue.js. Эти инструменты делают разработку более эффективной. Владение ими - обязательное требование, которое есть во многих вакансиях.</p>
53
<p>Сейчас активно развивается и платформа Node.js, с помощью которой, как мы уже разобрались, можно писать серверные приложения. Так что бэкенд на JavaScript также будет востребован - подробнее об этом можно прочитать в другой нашей<a>статье</a>.</p>
53
<p>Сейчас активно развивается и платформа Node.js, с помощью которой, как мы уже разобрались, можно писать серверные приложения. Так что бэкенд на JavaScript также будет востребован - подробнее об этом можно прочитать в другой нашей<a>статье</a>.</p>
54
<p>Google сейчас активно развивает сегмент прогрессивных веб-приложений - это смесь стандартного сайта и мобильного приложения. Таким решениям - progressive web apps - предрекают широкие перспективы. Они выгодны для бизнеса, поэтому имеют шанс на часть рынка, которая пока что принадлежит приложениям, разработанным только под одну платформу.</p>
54
<p>Google сейчас активно развивает сегмент прогрессивных веб-приложений - это смесь стандартного сайта и мобильного приложения. Таким решениям - progressive web apps - предрекают широкие перспективы. Они выгодны для бизнеса, поэтому имеют шанс на часть рынка, которая пока что принадлежит приложениям, разработанным только под одну платформу.</p>
55
<p>Все это в совокупности делает JavaScript перспективным языком программирования, который будет продолжать играть важную роль в разных сферах: от веб-разработки до геймдизайна.</p>
55
<p>Все это в совокупности делает JavaScript перспективным языком программирования, который будет продолжать играть важную роль в разных сферах: от веб-разработки до геймдизайна.</p>
56
<blockquote><h3>Также полезно:</h3>
56
<blockquote><h3>Также полезно:</h3>
57
<p>С чего<a>начать изучение JavaScript</a>и как это делать эффективно</p>
57
<p>С чего<a>начать изучение JavaScript</a>и как это делать эффективно</p>
58
</blockquote><h2>Сколько зарабатывают программисты на JavaScript</h2>
58
</blockquote><h2>Сколько зарабатывают программисты на JavaScript</h2>
59
<p>В сентябре 2023 на hh.ru<a>опубликовали</a>7 463 вакансии разработчиков на JavaScript.</p>
59
<p>В сентябре 2023 на hh.ru<a>опубликовали</a>7 463 вакансии разработчиков на JavaScript.</p>
60
<p>В большинстве из них уровень зарплат не указан, но мы можем ориентироваться на<a>исследования</a>"Хабр Карьеры". Они основаны на информации работодателей, размещавших вакансии на сайте, и данных из опросов уже работающих программистов.</p>
60
<p>В большинстве из них уровень зарплат не указан, но мы можем ориентироваться на<a>исследования</a>"Хабр Карьеры". Они основаны на информации работодателей, размещавших вакансии на сайте, и данных из опросов уже работающих программистов.</p>
61
<p>Фронтендеры на JavaScript зарабатывают:</p>
61
<p>Фронтендеры на JavaScript зарабатывают:</p>
62
<ul><li>72 000 рублей - джуны (начинающие)</li>
62
<ul><li>72 000 рублей - джуны (начинающие)</li>
63
<li>169 000 рублей - мидлы (специалисты среднего уровня)</li>
63
<li>169 000 рублей - мидлы (специалисты среднего уровня)</li>
64
<li>278 000 рублей - сеньоры (высококвалифицированные разработчики)</li>
64
<li>278 000 рублей - сеньоры (высококвалифицированные разработчики)</li>
65
<li>308 000 рублей - тимлиды (главы команд).</li>
65
<li>308 000 рублей - тимлиды (главы команд).</li>
66
</ul><p>Бэкендеры на JavaScript зарабатывают:</p>
66
</ul><p>Бэкендеры на JavaScript зарабатывают:</p>
67
<ul><li>70 000 рублей - джуны (начинающие)</li>
67
<ul><li>70 000 рублей - джуны (начинающие)</li>
68
<li>168 000 рублей - мидлы (специалисты среднего уровня)</li>
68
<li>168 000 рублей - мидлы (специалисты среднего уровня)</li>
69
<li>199 000 рублей - сеньоры (высококвалифицированные разработчики).</li>
69
<li>199 000 рублей - сеньоры (высококвалифицированные разработчики).</li>
70
</ul><p>Фулстек-разработчики на JavaScript зарабатывают:</p>
70
</ul><p>Фулстек-разработчики на JavaScript зарабатывают:</p>
71
<ul><li>114 000 рублей - джуны (начинающие)</li>
71
<ul><li>114 000 рублей - джуны (начинающие)</li>
72
<li>170 000 рублей - мидлы (специалисты среднего уровня)</li>
72
<li>170 000 рублей - мидлы (специалисты среднего уровня)</li>
73
<li>273 000 рублей - сеньоры (высококвалифицированные разработчики)</li>
73
<li>273 000 рублей - сеньоры (высококвалифицированные разработчики)</li>
74
<li>264 000 рублей - тимлиды (главы команд).</li>
74
<li>264 000 рублей - тимлиды (главы команд).</li>
75
</ul><p>Средняя зарплата разработчика на JavaScript в 2023 году - 180 000 рублей. При этом за последний год она<a>выросла</a>на 20%.</p>
75
</ul><p>Средняя зарплата разработчика на JavaScript в 2023 году - 180 000 рублей. При этом за последний год она<a>выросла</a>на 20%.</p>
76
<h2>Что означает скрипт в названии JavaScript</h2>
76
<h2>Что означает скрипт в названии JavaScript</h2>
77
<p>В начале 90-х годов, когда был создан JavaScript, компания Netscape разрабатывала браузер под названием Netscape Navigator. По задумке, в браузере должна была быть возможность для создания интерактивных и динамических веб-страниц.</p>
77
<p>В начале 90-х годов, когда был создан JavaScript, компания Netscape разрабатывала браузер под названием Netscape Navigator. По задумке, в браузере должна была быть возможность для создания интерактивных и динамических веб-страниц.</p>
78
<p>Компания наняла программиста Брендана Айка, чтобы разработать новый язык программирования. Он должен был называться LiveScript. Но из-за популярности языка Java (разработанного компанией Sun Microsystems), компания Netscape решила изменить его имя на JavaScript, чтобы привлечь внимание и ассоциировать его с Java.</p>
78
<p>Компания наняла программиста Брендана Айка, чтобы разработать новый язык программирования. Он должен был называться LiveScript. Но из-за популярности языка Java (разработанного компанией Sun Microsystems), компания Netscape решила изменить его имя на JavaScript, чтобы привлечь внимание и ассоциировать его с Java.</p>
79
<p>JavaScript - это язык программирования, который используется для написания скриптов. Скрипты - это небольшие программы, которые выполняются внутри веб-браузера и добавляют интерактивность на веб-страницах. Например, с помощью JavaScript можно создавать валидацию форм, анимации, обработку событий (например, кликов мыши), и многое другое, что делает веб-страницы более динамичными и удобными для пользователей.</p>
79
<p>JavaScript - это язык программирования, который используется для написания скриптов. Скрипты - это небольшие программы, которые выполняются внутри веб-браузера и добавляют интерактивность на веб-страницах. Например, с помощью JavaScript можно создавать валидацию форм, анимации, обработку событий (например, кликов мыши), и многое другое, что делает веб-страницы более динамичными и удобными для пользователей.</p>
80
<p>JavaScript - язык программирования, на котором можно написать скрипт. Это такая небольшая программа, которая выполняется внутри браузера и добавляет странице интерактивность. Благодаря скрипту и программам на JavaScript мы можем ставить лайки понравившемуся контенту, писать комментарии, делиться постами в социальных сетях и многое другое.</p>
80
<p>JavaScript - язык программирования, на котором можно написать скрипт. Это такая небольшая программа, которая выполняется внутри браузера и добавляет странице интерактивность. Благодаря скрипту и программам на JavaScript мы можем ставить лайки понравившемуся контенту, писать комментарии, делиться постами в социальных сетях и многое другое.</p>
81
<h2>Чем JavaScript отличается Java</h2>
81
<h2>Чем JavaScript отличается Java</h2>
82
<p>JavaScript и Java - это два разных языка программирования, их путают только из-за похожего названия.</p>
82
<p>JavaScript и Java - это два разных языка программирования, их путают только из-за похожего названия.</p>
83
<p>Java - гораздо сложнее и тяжелее, для исполнения скриптов в браузере он не подходит. Java применяют для разработки серверных приложений, игр, банковских систем и программ для Big Data. Так что сферы применения у JavaScript и Java абсолютно разные.</p>
83
<p>Java - гораздо сложнее и тяжелее, для исполнения скриптов в браузере он не подходит. Java применяют для разработки серверных приложений, игр, банковских систем и программ для Big Data. Так что сферы применения у JavaScript и Java абсолютно разные.</p>
84
<p>JavaScript проще Java. Для сравнения, стандартная программа "Hello, world!" на JavaScript занимает всего одну строчку:</p>
84
<p>JavaScript проще Java. Для сравнения, стандартная программа "Hello, world!" на JavaScript занимает всего одну строчку:</p>
85
<p>А на Java - пять:</p>
85
<p>А на Java - пять:</p>
86
<p>Что касается востребованности, то оба языка уверенно входят в десятку самых популярных языков программирования.</p>
86
<p>Что касается востребованности, то оба языка уверенно входят в десятку самых популярных языков программирования.</p>
87
<h2>В чем особенности JavaScript</h2>
87
<h2>В чем особенности JavaScript</h2>
88
<h3>Интеграция с HTML и CSS</h3>
88
<h3>Интеграция с HTML и CSS</h3>
89
<p>HTML - язык разметки, а CSS - таблицы стилей. На них нельзя писать полноценный код: можно только размещать элементы на странице сайта.</p>
89
<p>HTML - язык разметки, а CSS - таблицы стилей. На них нельзя писать полноценный код: можно только размещать элементы на странице сайта.</p>
90
<p>А вот на JavaScript уже можно писать код, и этот язык интегрирован с языками разметки. То есть если нужно добавить в разметку скрипт, туда вписывают код на JavaScript.</p>
90
<p>А вот на JavaScript уже можно писать код, и этот язык интегрирован с языками разметки. То есть если нужно добавить в разметку скрипт, туда вписывают код на JavaScript.</p>
91
<p>Но чаще на страницу просто вставляют ссылку на файл: это позволяет использовать один скрипт на многих страницах и не редактировать каждую из них.</p>
91
<p>Но чаще на страницу просто вставляют ссылку на файл: это позволяет использовать один скрипт на многих страницах и не редактировать каждую из них.</p>
92
<h3>Мультипарадигменность</h3>
92
<h3>Мультипарадигменность</h3>
93
<p>В программировании есть три основные парадигмы:</p>
93
<p>В программировании есть три основные парадигмы:</p>
94
<ul><li>Объектная - в ней оперируют функциями и набором данных, а код строят как систему отношений между ними.</li>
94
<ul><li>Объектная - в ней оперируют функциями и набором данных, а код строят как систему отношений между ними.</li>
95
<li>Функциональная - используют математические функции. Из-за отсутствия переменных, меняющих значения, результат запросов в этой парадигме всегда одинаковый.</li>
95
<li>Функциональная - используют математические функции. Из-за отсутствия переменных, меняющих значения, результат запросов в этой парадигме всегда одинаковый.</li>
96
<li>В императивной - используют переменные, которым прописывают значения, и инструкции, выполняющиеся последовательно.</li>
96
<li>В императивной - используют переменные, которым прописывают значения, и инструкции, выполняющиеся последовательно.</li>
97
</ul><p>Особенность JavaScript в том, что язык позволяет использовать любую из этих парадигм, что дает разработчику больший простор решений при написании кода.</p>
97
</ul><p>Особенность JavaScript в том, что язык позволяет использовать любую из этих парадигм, что дает разработчику больший простор решений при написании кода.</p>
98
<h3>Динамическая типизация</h3>
98
<h3>Динамическая типизация</h3>
99
<p>В языках программирования используют набор правил для разделения информации по классам - это называют типизацией. В JavaScript она динамическая. Это значит, что при создании переменной не нужно обязательно задавать ее тип, то есть относить к определенной группе данных.</p>
99
<p>В языках программирования используют набор правил для разделения информации по классам - это называют типизацией. В JavaScript она динамическая. Это значит, что при создании переменной не нужно обязательно задавать ее тип, то есть относить к определенной группе данных.</p>
100
<h2>Преимущества JavaScript</h2>
100
<h2>Преимущества JavaScript</h2>
101
<ul><li><strong>Не зависит от платформы</strong>. Если вы захотите запустить программу на JavaScript, не придется ставить дополнительных приложений: это сделает любой браузер. Другие языки потребуют установки компилятора, который исполнит код, или среды разработки (IDE).</li>
101
<ul><li><strong>Не зависит от платформы</strong>. Если вы захотите запустить программу на JavaScript, не придется ставить дополнительных приложений: это сделает любой браузер. Другие языки потребуют установки компилятора, который исполнит код, или среды разработки (IDE).</li>
102
<li><strong>Нетребовательный</strong>. Так как JavaScript исполняет код в браузере, программа на нем не нагружает сервер, а время ответа становится минимальным. Например, когда вы придумываете новый пароль - оповещение о том, что он недостаточно сложный появляется моментально. Это заслуга JavaScript.</li>
102
<li><strong>Нетребовательный</strong>. Так как JavaScript исполняет код в браузере, программа на нем не нагружает сервер, а время ответа становится минимальным. Например, когда вы придумываете новый пароль - оповещение о том, что он недостаточно сложный появляется моментально. Это заслуга JavaScript.</li>
103
<li><strong>Прост в изучении</strong>. JavaScript входит в топ самых легких языков программирования. При этом у него огромное комьюнити и большое количество инструментов, облегчающих жизнь разработчика.</li>
103
<li><strong>Прост в изучении</strong>. JavaScript входит в топ самых легких языков программирования. При этом у него огромное комьюнити и большое количество инструментов, облегчающих жизнь разработчика.</li>
104
</ul><h2>Недостатки JavaScript</h2>
104
</ul><h2>Недостатки JavaScript</h2>
105
<ul><li><strong>Проблема типов данных</strong>. Переменные в JavaScript могут менять свой тип данных в процессе выполнения программы. Представьте, что у нас есть переменная, в которой написано "1000". Эта запись может быть как числом, так и просто содержимым строки - текстом. Сложить строку и число в большинстве языков программирования - нельзя. А JavaScript может просто выдать результат вычислений. За счет этого в коде возникают непредвиденные ошибки, которые бывает сложно найти.</li>
105
<ul><li><strong>Проблема типов данных</strong>. Переменные в JavaScript могут менять свой тип данных в процессе выполнения программы. Представьте, что у нас есть переменная, в которой написано "1000". Эта запись может быть как числом, так и просто содержимым строки - текстом. Сложить строку и число в большинстве языков программирования - нельзя. А JavaScript может просто выдать результат вычислений. За счет этого в коде возникают непредвиденные ошибки, которые бывает сложно найти.</li>
106
</ul><ul><li><strong>Слишком много дополнительных библиотек и фреймворков.</strong>Чтобы пользоваться всеми возможностями JavaScript, нужны дополнительные инструменты. Их выбор - сама по себе сложная задача. Нужно, чтобы они не конфликтовали друг с другом, правильно взаимодействовали, и их поддержка не прекратилась в один неприятный момент. Главный минус для начинающего программиста на JavaScript - чтобы начать карьеру в коммерческой разработке, потребуется изучить несколько инструментов. А затем для перехода в новый проект - еще несколько.</li>
106
</ul><ul><li><strong>Слишком много дополнительных библиотек и фреймворков.</strong>Чтобы пользоваться всеми возможностями JavaScript, нужны дополнительные инструменты. Их выбор - сама по себе сложная задача. Нужно, чтобы они не конфликтовали друг с другом, правильно взаимодействовали, и их поддержка не прекратилась в один неприятный момент. Главный минус для начинающего программиста на JavaScript - чтобы начать карьеру в коммерческой разработке, потребуется изучить несколько инструментов. А затем для перехода в новый проект - еще несколько.</li>
107
<li><strong>Проблемы с производительностью.</strong>Интерпретируемость JavaScript принято считать достоинством, но иногда она становится и недостатком. При обработке больших массивов данных операции могут выполняться менее эффективно, чем на других языках.</li>
107
<li><strong>Проблемы с производительностью.</strong>Интерпретируемость JavaScript принято считать достоинством, но иногда она становится и недостатком. При обработке больших массивов данных операции могут выполняться менее эффективно, чем на других языках.</li>
108
</ul><h2>Пишем первую программу на JavaScript</h2>
108
</ul><h2>Пишем первую программу на JavaScript</h2>
109
<p>По традиции обучение начинают с самой простой программы, которая умеет выводить на экран надпись: "Hello, world!". Чтобы создать ее на JavaScript, потребуется только браузер.</p>
109
<p>По традиции обучение начинают с самой простой программы, которая умеет выводить на экран надпись: "Hello, world!". Чтобы создать ее на JavaScript, потребуется только браузер.</p>
110
<p>Откройте в браузере "Инструменты разработчика", нажав клавишу F12 или "Просмотр кода страницы". В браузере откроется панель, отыщите в ней вкладку "Консоль" и перейдите туда. В ней мы будем писать код.</p>
110
<p>Откройте в браузере "Инструменты разработчика", нажав клавишу F12 или "Просмотр кода страницы". В браузере откроется панель, отыщите в ней вкладку "Консоль" и перейдите туда. В ней мы будем писать код.</p>
111
<p>Напишите в этой вкладке текст:</p>
111
<p>Напишите в этой вкладке текст:</p>
112
<p>Затем нажмите Enter. В консоли появится эта надпись.</p>
112
<p>Затем нажмите Enter. В консоли появится эта надпись.</p>
113
<p>А теперь попробуйте ввести текст: alert("Hello, world!");. В браузере появится всплывающее окно. Мы часто можем взаимодействовать с ними, заходя на сайты. Например, они просят нас принять сбор сookies. Поздравляем - только что вы написали скрипт для такого окна.</p>
113
<p>А теперь попробуйте ввести текст: alert("Hello, world!");. В браузере появится всплывающее окно. Мы часто можем взаимодействовать с ними, заходя на сайты. Например, они просят нас принять сбор сookies. Поздравляем - только что вы написали скрипт для такого окна.</p>
114
<h2>Насколько сложно выучить JavaScript</h2>
114
<h2>Насколько сложно выучить JavaScript</h2>
115
<p>Синтаксис JavaScript считают одним из самых простых. Именно поэтому он завоевал такую популярность на рынке: его сравнительно легко выучить.</p>
115
<p>Синтаксис JavaScript считают одним из самых простых. Именно поэтому он завоевал такую популярность на рынке: его сравнительно легко выучить.</p>
116
<p>К сильным сторонам обучения JavaScript относят развитую экосистему: у него обширное комьюнити, всесторонняя поддержка, решение многих типовых задач можно найти в Google или получить быстрый ответ на форуме.</p>
116
<p>К сильным сторонам обучения JavaScript относят развитую экосистему: у него обширное комьюнити, всесторонняя поддержка, решение многих типовых задач можно найти в Google или получить быстрый ответ на форуме.</p>
117
<p>В качестве стартового языка JavaScript выбирают из-за простоты и хорошей документированности.</p>
117
<p>В качестве стартового языка JavaScript выбирают из-за простоты и хорошей документированности.</p>
118
<p>Сложность JavaScript в том, что для участия в коммерческой разработке знаний только самого языка программирования недостаточно. Потребуется выучить верстку, понимать принцип отправки и получения данных от сервера, а также выучить хотя бы пару популярных библиотек и фреймворков.</p>
118
<p>Сложность JavaScript в том, что для участия в коммерческой разработке знаний только самого языка программирования недостаточно. Потребуется выучить верстку, понимать принцип отправки и получения данных от сервера, а также выучить хотя бы пару популярных библиотек и фреймворков.</p>
119
<h2>С чего начать изучать JavaScript</h2>
119
<h2>С чего начать изучать JavaScript</h2>
120
<p>"Современному джуну нужно освоить большой массив данных на JavaScript. Во-первых, это фундаментальные основы языка программирования: циклы, переменные, ветвления, константы, типы, классы конструктора и так далее. Во-вторых, нужно знать верстку, хотя бы в общих чертах, и уметь применять ее принципы на практике.</p>
120
<p>"Современному джуну нужно освоить большой массив данных на JavaScript. Во-первых, это фундаментальные основы языка программирования: циклы, переменные, ветвления, константы, типы, классы конструктора и так далее. Во-вторых, нужно знать верстку, хотя бы в общих чертах, и уметь применять ее принципы на практике.</p>
121
<p>Еще пригодится понимание модели событий JavaScript, объекта и модели документа DOM. Также нужно научиться применять один из популярных фреймворков. Например, React или Vue.</p>
121
<p>Еще пригодится понимание модели событий JavaScript, объекта и модели документа DOM. Также нужно научиться применять один из популярных фреймворков. Например, React или Vue.</p>
122
<p>И еще важно научиться делать запросы AJAX и HTTP-запросы из браузера. В этом можно разбираться бесконечно. Но джуну достаточно знать хотя бы то, как загрузить и отправить данные с API, использовать авторизацию и параметры запросов. С этой базой, если вы понимаете, что делаете, уже можно найти работу".</p>
122
<p>И еще важно научиться делать запросы AJAX и HTTP-запросы из браузера. В этом можно разбираться бесконечно. Но джуну достаточно знать хотя бы то, как загрузить и отправить данные с API, использовать авторизацию и параметры запросов. С этой базой, если вы понимаете, что делаете, уже можно найти работу".</p>
123
<p>Также всем желающим изучить JavaScript мы рекомендуем прочитать эти книги:</p>
123
<p>Также всем желающим изучить JavaScript мы рекомендуем прочитать эти книги:</p>
124
<ul><li>Дэвид Флэнаган "<a>JavaScript. Подробное руководство</a>"</li>
124
<ul><li>Дэвид Флэнаган "<a>JavaScript. Подробное руководство</a>"</li>
125
<li>Дуглас Крокфорд "<a>Как устроен JavaScript</a>"</li>
125
<li>Дуглас Крокфорд "<a>Как устроен JavaScript</a>"</li>
126
<li>Алексей Васильев "<a>JavaScript в примерах и задачах</a>".</li>
126
<li>Алексей Васильев "<a>JavaScript в примерах и задачах</a>".</li>
127
</ul><p>Кроме книг для изучения JavaScript можно читать тематические статьи на<a>Хабре</a>и смотреть обучающие курсы на YouTube. Советуем также пройти<a>бесплатный курс по основам JavaScript</a>на Code Basics. А для большего погружения - найдите свое<a>комьюнити</a>и обменивайтесь опытом с другими учащимися. И не забывайте как можно больше практиковаться и писать код.</p>
127
</ul><p>Кроме книг для изучения JavaScript можно читать тематические статьи на<a>Хабре</a>и смотреть обучающие курсы на YouTube. Советуем также пройти<a>бесплатный курс по основам JavaScript</a>на Code Basics. А для большего погружения - найдите свое<a>комьюнити</a>и обменивайтесь опытом с другими учащимися. И не забывайте как можно больше практиковаться и писать код.</p>