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 або з оператором розгортання.
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 valueArray.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 characterJSON.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Браузер заблокував крос-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_TYPEAPI Node.js отримав аргумент неправильного типу.
ERR_INVALID_URLДо конструктора URL або API Node.js було передано недійсну 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Обов'язковий аргумент не було передано до функції API Node.js.
ERR_UNESCAPED_CHARACTERSРядок, що містить неекрановані символи, було передано там, де очікувався екранований рядок.
ERR_UNKNOWN_ENCODINGДо API Node.js було передано невідоме або непідтримуване кодування.
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.parse() передано некоректний JSON.
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Об'єкт не вдалося клонувати за допомогою алгоритму структурованого клонування.