TypeErrorTypeError
Значение имеет не тот тип, что ожидается. Это наиболее распространённая ошибка JavaScript, возникающая когда операция получает значение несовместимого типа.
Просмотрите все 100 кодов ошибок Ошибки JavaScript с причинами, исправлениями и примерами.
TypeErrorЗначение имеет не тот тип, что ожидается. Это наиболее распространённая ошибка JavaScript, возникающая когда операция получает значение несовместимого типа.
TypeError: x is not a functionБыла предпринята попытка вызвать значение как функцию, хотя оно функцией не является.
TypeError: Cannot read properties of undefined/nullПопытка обратиться к свойству или методу значения undefined или null.
TypeError: Cannot set properties of undefined/nullБыла предпринята попытка установить свойство значения undefined или null.
TypeError: x is not iterableЗначение, не являющееся итерируемым, было использовано там, где ожидается итерируемое, например в цикле for...of или в операторе spread.
TypeError: x is not a constructorБыла предпринята попытка использовать ключевое слово new со значением, не являющимся конструктором.
TypeError: Assignment to constant variableБыла предпринята попытка переприсвоить переменную, объявленную с помощью const.
TypeError: Cannot convert undefined or null to objectВстроенный метод, ожидающий объект, получил вместо него null или undefined.
TypeError: Reduce of empty array with no initial valueМетод Array.reduce() был вызван на пустом массиве без указания начального значения.
TypeError: Cannot assign to read only propertyБыла предпринята попытка записать значение в свойство, доступное только для чтения: либо объект заморожен, либо свойство определено как недоступное для записи.
ReferenceErrorБыла сделана ссылка на переменную, которая не существует в текущей области видимости.
ReferenceError: x is not definedБыла сделана ссылка на переменную, которая не объявлена ни в одной доступной области видимости.
ReferenceError: Cannot access before initializationК переменной, объявленной с помощью let или const, произошло обращение до её объявления в пределах временной мёртвой зоны.
ReferenceError: Invalid left-hand side in assignmentБыла предпринята попытка присвоить значение чему-то, что не может быть целью присвоения.
SyntaxErrorДвижок JavaScript столкнулся с кодом, не соответствующим синтаксису языка.
SyntaxError: Unexpected tokenПарсер встретил токен (символ или ключевое слово), который не ожидался в данной позиции кода.
SyntaxError: Unexpected end of inputПарсер достиг конца ввода, продолжая ожидать дальнейший код — как правило, из-за незакрытых скобок или строк.
SyntaxError: JSON.parse unexpected characterМетод JSON.parse() столкнулся с недопустимым JSON-синтаксисом: одинарными кавычками, завершающими запятыми или неэкранированными ключами.
SyntaxError: Missing ) after argument listВ вызове функции отсутствует закрывающая скобка.
SyntaxError: Unterminated string literalСтроковый литерал не имеет закрывающей кавычки.
SyntaxError: Illegal return statementОператор return использован вне тела функции.
SyntaxError: Identifier has already been declaredПеременная с таким же именем дважды объявлена в одной области видимости с помощью let или const.
SyntaxError: Cannot use import statement outside a moduleСинтаксис ES-модулей import был использован в файле, который не обрабатывается как модуль.
SyntaxError: await is only valid in async functionsКлючевое слово await использовано вне async-функции.
RangeErrorЗначение выходит за пределы допустимого диапазона — например, недопустимая длина массива или превышение размера стека вызовов.
RangeError: Maximum call stack size exceededСтек вызовов JavaScript исчерпан, как правило из-за бесконечной или слишком глубокой рекурсии.
RangeError: Invalid array lengthМассив был создан с недопустимой длиной — например, отрицательным числом или не целым числом.
RangeError: Invalid dateМетоду Date, требующему корректную дату, была передана недопустимая строка даты.
RangeError: precision is out of rangeЗначение точности, переданное в toFixed(), toPrecision() или toExponential(), находится вне допустимого диапазона.
URIErrorГлобальная функция обработки URI (decodeURIComponent, encodeURI) получила некорректный URI.
EvalErrorОшибка, связанная с глобальной функцией eval(). В современном JavaScript встречается крайне редко.
InternalError: too much recursionСпецифичная для Firefox ошибка, аналогичная RangeError: Maximum call stack size exceeded в Chrome/Node.js.
AggregateErrorОшибка, объединяющая несколько ошибок; как правило, выбрасывается, когда все промисы в Promise.any() отклонены.
UnhandledPromiseRejectionПромис был отклонён, но обработчик .catch() или блок try-catch отсутствовал.
DOMException: The operation was abortedОперация была отменена через сигнал AbortController.
DOMException: NetworkErrorСетевая операция завершилась неудачей — как правило, при выполнении fetch-запроса, когда сеть недоступна.
DOMException: QuotaExceededErrorОперация с хранилищем превысила доступную квоту для localStorage, IndexedDB или другого браузерного хранилища.
DOMException: SecurityErrorЧувствительная с точки зрения безопасности операция заблокирована политиками безопасности браузера.
DOMException: NotAllowedErrorВызов браузерного API заблокирован, поскольку требует взаимодействия с пользователем или разрешения, которое не было предоставлено.
CORS Error: No Access-Control-Allow-OriginБраузер заблокировал cross-origin-запрос, поскольку сервер не включил обязательные CORS-заголовки.
CORS Error: Preflight request failedПредварительный OPTIONS-запрос CORS от браузера был отклонён или вернул некорректные CORS-заголовки.
ECONNREFUSEDСоединение отклонено, поскольку на целевом адресе и порту нет слушающего сервера.
ECONNRESETУдалённый сервер принудительно закрыл соединение.
EADDRINUSEАдрес (порт) уже занят другим процессом.
ENOTFOUNDСбой DNS-разрешения: имя хоста не удалось преобразовать в IP-адрес.
ETIMEDOUTСоединение или операция завершились по тайм-ауту, поскольку удалённый хост не ответил вовремя.
ENOENTУказанный файл или директория не существуют по заданному пути.
EACCESПроцесс не имеет прав доступа к файлу или ресурсу.
EPERMОперация не разрешена даже при наличии соответствующих прав — из-за ограничений на уровне ОС.
EMFILEПроцесс достиг максимально допустимого количества открытых файловых дескрипторов.
ENFILEДостигнут общесистемный лимит на суммарное количество открытых файлов.
EISDIRВыполнена попытка файловой операции над путём, который является директорией.
ENOTDIRБыла предпринята попытка выполнить операцию с директорией над путём, который не является директорией.
EEXISTОперация создания файла завершилась ошибкой, так как целевой путь уже существует.
EPIPEБыла предпринята попытка записи в канал или сокет, читающий конец которого был закрыт.
ENOSPCДиск заполнен или исчерпана таблица inode.
ERR_HTTP_HEADERS_SENTБыла предпринята попытка установить заголовки или отправить ответ после того, как HTTP-ответ уже был отправлен.
ERR_MODULE_NOT_FOUNDИмпорт ES-модуля не удалось разрешить, так как указанный файл не существует.
ERR_REQUIRE_ESMДля загрузки ES-модуля был использован вызов require(), что не допускается.
ERR_INVALID_ARG_TYPENode.js API получил аргумент неверного типа.
ERR_INVALID_URLВ конструктор URL или Node.js API был передан недействительный URL.
ERR_SOCKET_BAD_PORTДля сетевой операции был указан недопустимый номер порта.
ERR_TLS_CERT_ALTNAME_INVALIDИмя хоста не соответствует ни одному из Subject Alternative Names (SAN) в TLS-сертификате сервера.
ERR_BUFFER_OUT_OF_BOUNDSБыла предпринята попытка чтения или записи за пределами Buffer.
ERR_STREAM_PREMATURE_CLOSEПоток был закрыт до завершения чтения или записи всех данных.
ERR_WORKER_OUT_OF_MEMORYПоток Worker исчерпал доступную память.
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memoryДвижок V8 исчерпал память кучи, что привело к аварийному завершению процесса Node.js.
ERR_MISSING_ARGSВ функцию Node.js API не был передан обязательный аргумент.
ERR_UNESCAPED_CHARACTERSТуда, где ожидалась экранированная строка, была передана строка, содержащая неэкранированные символы.
ERR_UNKNOWN_ENCODINGВ Node.js API была передана неизвестная или неподдерживаемая кодировка.
ERR_CRYPTO_INVALID_STATEКриптографическая операция была выполнена в недопустимом состоянии.
ERR_DLOPEN_FAILEDНе удалось загрузить нативное дополнение (C++ .node файл).
ERR_OSSL_EVP_UNSUPPORTEDОперация OpenSSL не поддерживается — как правило, потому что Node.js 17+ использует OpenSSL 3.0, который отключает устаревшие алгоритмы.
ERR_SERVER_ALREADY_LISTENМетод server.listen() был вызван, когда сервер уже прослушивает соединения.
ERR_FS_CP_DIR_TO_NON_DIRБыла предпринята попытка скопировать директорию по пути, где уже существует файл (не директория).
Error: Cannot find moduleNode.js не смог найти указанный модуль ни в одном из просматриваемых путей.
ECONNABORTEDСоединение было прервано, как правило, из-за истечения тайм-аута на стороне клиента.
EHOSTUNREACHЦелевой хост недоступен, как правило, из-за проблем с маршрутизацией сети.
ENETUNREACHСеть недоступна: маршрут до целевой сети не найден.
ERR_ASSERTIONПроверка утверждения из модуля assert Node.js завершилась неудачей.
TypeError: Converting circular structure to JSONJSON.stringify() обнаружил объект с циклическими ссылками, которые невозможно сериализовать в JSON.
TypeError: Method called on incompatible receiverМетод был вызван со значением `this`, не соответствующим ожидаемому типу.
TypeError: Cannot delete property of objectВ строгом режиме была предпринята попытка удалить неконфигурируемое свойство объекта.
TypeError: Cannot convert a Symbol value to a stringБыла предпринята попытка неявного преобразования Symbol в строку, что недопустимо.
TypeError: Cannot add property, object is not extensibleБыла предпринята попытка добавить свойство в объект, для которого запрещено расширение.
SyntaxError: Applying delete to unqualified name in strict modeОператор delete применён к имени простой переменной в строгом режиме, что недопустимо.
SyntaxError: Missing initializer in const declarationПеременная const объявлена без начального значения.
SyntaxError: JSON.parse: bad parsingСообщение об ошибке, специфичное для Firefox, при передаче невалидного JSON в JSON.parse().
ERR_STREAM_WRITE_AFTER_ENDПроизошла попытка записи в поток после его завершения.
ERR_HTTP2_STREAM_ERRORПроизошла ошибка в потоке HTTP/2.
ERR_CHILD_PROCESS_STDIO_MAXBUFFERДочерний процесс сформировал вывод, превысивший ограничение maxBuffer.
ERR_INVALID_RETURN_VALUEФункция вернула значение неожиданного типа.
ERR_UNHANDLED_REJECTIONNode.js настроен на выброс исключений при необработанных отказах промисов, и одно из них было обнаружено.
ERR_ASYNC_CALLBACKВместо ожидаемого асинхронного коллбэка было передано значение, не являющееся функцией.
ERR_PACKAGE_PATH_NOT_EXPORTEDБыл импортирован подпуть пакета, не объявленный в поле exports пакета.
ERR_IMPORT_ASSERTION_TYPE_FAILEDУтверждение импорта указало тип, не совпадающий с фактическим типом модуля.
ERR_NETWORK_IMPORT_DISALLOWEDБыла предпринята попытка сетевого импорта (HTTP/HTTPS), запрещённого текущей конфигурацией Node.js.
ERR_INSPECTOR_ALREADY_ACTIVATEDИнспектор Node.js (отладчик) был активирован более одного раза.
DOMException: InvalidStateErrorОперация была выполнена над объектом, находящимся в некорректном для неё состоянии.
DOMException: DataCloneErrorОбъект не удалось клонировать с использованием алгоритма структурированного клонирования.