Что это простыми словами

ESLint — это программа-помощник, которая проверяет код на JavaScript и указывает на ошибки и неаккуратности ещё до запуска.

Аналогия: представьте проверку орфографии в Word. Вы пишете текст, а красные подчёркивания сразу показывают опечатки — не нужно ждать, пока кто-то прочитает и заметит ошибку. ESLint делает то же самое с кодом: подчёркивает забытые точки с запятой, неиспользуемые переменные, опасные конструкции — всё, что может привести к багам или выглядит неаккуратно.

Это особенно важно в командах: когда десять человек пишут код, ESLint следит, чтобы у всех был один стиль — так проще читать чужой код и работать вместе.

Официальное определение

Теперь, когда суть понятна, вот как ESLint описывают в вакансиях и документации. Эту формулировку вы будете встречать у заказчика, в резюме и в речи разработчиков — теперь вы понимаете, что за ней стоит.

«ESLint — статический анализатор кода для JavaScript и TypeScript, который находит проблемы на основе настраиваемых правил и может автоматически исправлять часть из них».

Разберём по словам. «Статический анализатор» — программа проверяет код, не запуская его: смотрит на текст и находит подозрительные места. «Настраиваемые правила» — команда сама решает, что считать ошибкой: кому-то важны точки с запятой, кому-то нет, ESLint подстраивается. «Автоматически исправлять» — многие проблемы ESLint умеет чинить сам одной командой, не заставляя разработчика исправлять вручную.

Какую задачу решает

ESLint ловит проблемы на самой ранней стадии — ещё в редакторе кода, до того как программа запустится. Он находит:

  • Потенциальные баги: переменную объявили, но нигде не используют — возможно, это опечатка в названии.

  • Опасные конструкции: код, который работает, но может неожиданно сломаться при изменении.

  • Нарушения стиля: один разработчик ставит пробелы после скобок, другой нет — ESLint приводит всё к единому виду.

Главная ценность — экономия времени. Без ESLint разработчик увидит ошибку только когда запустит код или когда её найдёт коллега при проверке. С ESLint большинство проблем видны сразу, как опечатки в Word.

Кто им пользуется

ESLint привязан к языку JavaScript (и TypeScript), поэтому им пользуются все, кто на нём пишет:

  • Frontend-разработчики — основная аудитория. Любой проект на React, Vue или Angular почти наверняка использует ESLint.

  • Backend-разработчики на Node.js — JavaScript работает не только в браузере, но и на сервере.

  • Fullstack-разработчики, которые пишут и клиентскую, и серверную часть на JavaScript.

В вакансиях ESLint почти всегда встречается вместе с JavaScript или TypeScript — это их стандартный инструмент. Если видите требование «знание ESLint» в описании фронтенд-вакансии, это нормально и ожидаемо.

Аналоги / чем заменяется

Есть другие инструменты для проверки JavaScript-кода, но ESLint — безусловный лидер:

  • JSHint — предшественник ESLint, встречается в старых проектах, но новые уже пишут с ESLint.

  • StandardJS — линтер с жёстко заданными правилами, без настройки. Для тех, кто не хочет спорить о стиле кода.

  • TSLint — раньше был линтером для TypeScript, но больше не развивается. Его заменил ESLint с поддержкой TypeScript.

Переход между линтерами несложный: человек, который работал с JSHint или TSLint, освоит ESLint за пару дней. Логика везде одна — проверяй код на проблемы, отличаются только настройки.

Что не путать

  • ESLint ≠ Prettier. Это главная путаница. ESLint ищет ошибки и проблемы в логике кода, а Prettier — это форматтер, он просто красиво расставляет отступы и переносы строк. Часто они работают вместе: Prettier приводит код в порядок внешне, а ESLint следит за содержанием.

  • ESLint ≠ компилятор. Компилятор переводит код в понятный компьютеру вид, а ESLint только проверяет и указывает на проблемы. Он не влияет на то, как код будет работать.

  • ESLint ≠ тесты. Тесты запускают код и проверяют, правильно ли он работает. ESLint смотрит на текст кода, не запуская его, и ищет подозрительные места.

  • ESLint ≠ язык программирования. Это вспомогательный инструмент для работы с JavaScript, а не язык сам по себе.

Насколько это важно при отборе

Короткий ответ: ESLint не повод отбраковывать кандидата. Это инструмент, который осваивается за несколько дней.

Если разработчик умеет писать на JavaScript или TypeScript, но в резюме не упомянут ESLint — это не проблема. Скорее всего, он им пользовался, просто не счёл важным указывать. А если и не пользовался, то разберётся за пару дней работы: ESLint настраивается один раз в проекте, дальше он просто работает в фоне.

Что действительно важно — чтобы человек понимал зачем нужны линтеры и умел писать чистый код. Если кандидат пишет аккуратно, следит за качеством и понимает ценность автоматических проверок — конкретный инструмент вторичен.

Когда ESLint может стать жёстким требованием: если компания ищет человека на краткосрочный проект или нужен кто-то, кто выйдет и сразу начнёт работать без адаптации. Но и в этом случае отсутствие ESLint в резюме — повод уточнить на собеседовании, а не автоматически отклонять.

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.