В чем разница между использованием button и link

«В чем разница между использованием button и link» — вопрос из категории HTML, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

button и link (<a>) имеют разные семантические и функциональные назначения:

  • <button>:

    • Используется для выполнения действий (отправка формы, открытие модалки и т.д.).
    • Может быть частью формы (type="submit", type="reset").
    • Управляется через JavaScript (onClick).
    • Пример:
      <button onclick="handleClick()">Сохранить</button>
  • <a> (link):

    • Предназначен для навигации (переход по URL, якорные ссылки).
    • Имеет атрибут href, который определяет цель перехода.
    • Без href теряет семантику ссылки (лучше использовать button).
    • Пример:
      <a href="/about">О нас</a>

Ключевое: button — для действий на странице, <a> — для навигации. Нельзя заменять одно другим без веской причины, это нарушает доступность и семантику.