# Ошибка запрета перехода по ссылке в JavaScript

Пусть у нас есть ссылка:

`<a href="">link</a>`

Получим нашу ссылку в переменную:

`let link = document.querySelector('a');`

Привяжем к нашей ссылке обработчик клика. Отменим при этом переход по ссылке, чтобы избежать перезагрузки страницы:

`link.addEventListener('click', function(event) { console.log(this.textContent); event.preventDefault(); });`

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

В этом случае мы не увидим ни результата выполнения кода, ни ошибки в консоли, ведь страница перезагрузится. Давайте специально сделаем ошибку в коде и убедимся на практике:

`link.addEventListener('click', function(event) { thiss.textContent = 'text'; // синтаксическая ошибка event.preventDefault(); });`

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

Конечно же, прочитать текст ошибки мы не успеем, что существенно затрудняет ее поиск. Есть, однако, хитрый прием. Нужно в `href` ссыки поставить решетку. В этом случае перехода по ссылке не случится и мы увидим выброшенную в консоль ошибку:

`<a href="#">link</a>`
← →
↑