Программирование и базы данных
JavaScript
9 статей с причинами, проверками и пошаговыми решениями. Например: Cannot read properties of undefined; Uncaught ReferenceError.
JavaScript — TypeError: Cannot read properties of undefined — причины и решение
Проверяйте значение на undefined и используйте optional chaining.
JavaScript — TypeError: x is not a function — причины и решение
Ошибка означает вызов значения, не являющегося функцией: опечатка в имени, перезаписанная переменная или неверный объект. Проверьте тип значения через typeof и порядок п…
JavaScript — TypeError: Failed to fetch — причины и решение
«TypeError: Failed to fetch» значит, что браузер вообще не получил ответ: запрос заблокирован политикой CORS, расширением, смешанным содержимым или не дошёл до сервера. …
Ошибка CORS в браузере: blocked by CORS policy — причины и решение
Браузер блокирует запрос к другому источнику, если сервер не разрешил его заголовками CORS. Ниже — причины и порядок действий от простого к сложному.
Ошибка SyntaxError в JavaScript — Unexpected token при разборе JSON — причины и решение
Ошибка означает, что вместо JSON сервер вернул HTML (чаще всего страницу ошибки или авторизации). Ниже — причины и порядок действий от простого к сложному.
JavaScript — SyntaxError: Unexpected end of JSON input — причины и решение
Ошибка «SyntaxError: Unexpected end of JSON input» означает, что JSON.parse получил пустую или оборванную строку. Проверьте ответ сервера, статус и тело, обработку пусты…
JavaScript — Uncaught (in promise) — необработанная ошибка в async-коде — причины и решение
Ошибка в Promise без catch попадает в консоль как Uncaught (in promise). Оборачивайте await в try/catch и добавляйте .catch().
JavaScript — RangeError: Maximum call stack size exceeded — причины и решение
Ошибка возникает при бесконечной рекурсии или слишком глубокой цепочке вызовов. Добавьте условие выхода или перепишите алгоритм циклом.
JavaScript — localStorage — QuotaExceededError и SecurityError — причины и решение
Хранилище может быть переполнено (около 5 МБ), отключено в приватном режиме или заблокировано политикой. Оберните доступ в try/catch.