Что это простыми словами
JavaScript (в разговоре часто «джаваскрипт» или просто «джээс») — язык программирования, который «оживляет» сайты.
Аналогия: если страница сайта — это дом, то HTML строит стены и комнаты, CSS красит их и расставляет мебель, а JavaScript включает свет, открывает двери и заставляет всё работать, когда вы нажимаете на выключатель. Без него кнопки были бы просто нарисованными картинками, а меню — не открывалось бы.
Официальное определение
Теперь, когда суть понятна, вот как JavaScript описывают в вакансиях и документации. Эту формулировку вы будете встречать у заказчика, в резюме и в речи разработчиков — теперь вы понимаете, что за ней стоит.
«JavaScript — интерпретируемый мультипарадигменный язык программирования с динамической типизацией, исполняемый в браузере и на сервере через среду выполнения Node.js».
Разберём по словам. «Интерпретируемый» — код запускается сразу, без долгой предварительной сборки, как аудиокнига, которую можно включить в любой момент, а не сначала перевести целиком на бумагу. «Мультипарадигменный» — язык не заставляет писать код одним-единственным способом, разработчик выбирает удобный стиль под задачу. «Динамическая типизация» — не нужно заранее объявлять, где будет число, а где текст: язык разбирается сам по ходу работы.
Зачем нужен и какие задачи решает
Без JavaScript браузер умеет показывать только неподвижную картинку страницы: текст и картинки на своих местах, и всё. JavaScript добавляет реакцию на действия человека — нажал кнопку, товар добавился в корзину; ввёл текст в поиск, список результатов обновился на лету, без перезагрузки страницы. Это основной язык программирования, который умеет напрямую работать внутри браузера, поэтому без него не обходится ни один живой сайт.
В каких сферах используется и как понять, какой это разработчик
Это самое важное про JavaScript для рекрутера: на нём работают РАЗНЫЕ специальности. «JavaScript-разработчик» без уточнения — это ещё не профессия, нужно смотреть на стек рядом. Основные миры JavaScript:
Frontend (внешняя часть сайтов) — рядом React, Vue или Angular, слова про интерфейс и вёрстку. Это основная и самая частая сфера.
Мобильная разработка (кроссплатформенная) — рядом React Native, слова про приложения сразу под iOS и Android из одного кода.
Тестирование (QA-автоматизация) — рядом Cypress, Playwright, Mocha, слова про автотесты сайтов.
Серверная часть (бэкенд) — тот же язык JavaScript, но запускается вне браузера через среду Node.js, рядом Express или NestJS.
Простой ориентир: язык один, а кто перед вами — подсказывает окружение. React/Vue/Angular → фронтендер; React Native → мобильный разработчик; Cypress и Playwright → тестировщик-автоматизатор; Node.js и Express → бэкендер.
С чем взаимозаменяем
С другими языками JavaScript почти не взаимозаменяем: разработчик на Python или Java не станет JS-разработчиком без переучивания, опыт между языками не переносится.
И ещё важнее: даже внутри одного JavaScript разные сферы — это разные люди. Frontend-разработчик и QA-автоматизатор пишут на одном языке, но это разные специалисты с разными задачами, их нельзя ставить друг на друга.
Что не путать
JavaScript ≠ Java — два совершенно разных языка, несмотря на похожее название. Связаны они не больше, чем «ковёр» и «ковбой».
JavaScript ≠ React, Vue, Angular. Это фреймворки — инструменты, написанные на JavaScript, а не отдельные языки.
JavaScript ≠ Node.js. Node.js — это не другой язык, а среда, которая позволяет запускать JavaScript вне браузера, например на сервере.
TypeScript — очень близкий родственник, а не соперник: это тот же JavaScript с дополнительной проверкой ошибок заранее. Опыт переносится почти полностью.
ES6, ES2015, ECMAScript — не отдельные технологии, а версии всё того же JavaScript. ECMAScript — официальное имя стандарта, по которому развивается язык, а ES6 (он же ES2015) — просто одно из его крупных обновлений, как «версия 6.0» для языка. Если кандидат упоминает эти слова, речь всё ещё о JavaScript.
Vanilla JS — не название инструмента или фреймворка, а разговорное обозначение «чистого» JavaScript без React, Vue и других надстроек. Как «просто вода» вместо «вода с сиропом». Кандидат с опытом vanilla JS работал напрямую с языком, без готовых решений.
jQuery — устаревшая библиотека поверх JavaScript, популярная больше десяти лет назад и почти не используемая в новых проектах. Если в резюме из JS-стека фигурирует только она, без React, Vue или Angular, это обычно сигнал, что опыт кандидата довольно старый и стоит уточнить, с чем он работал в последнее время.
Насколько это важно при отборе
Короткий ответ: язык — это жёсткий фильтр.
Опыт между языками почти не переносится. Кандидата с Python или Java нельзя без переучивания предложить на вакансию, где нужен JavaScript. Если в вакансии указан язык — это требование, а не пожелание.
Но есть вторая, менее очевидная половина: одного языка недостаточно. Убедитесь, что совпадает ещё и сфера. Сильный QA-автоматизатор с многолетним опытом JavaScript и Cypress не подойдёт на вакансию frontend-разработчика, хотя формально «язык тот же». Проверяйте связку «язык + сфера», а не только слово JavaScript в резюме.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.