أخطاء JavaScript
تصفّح جميع رموز أخطاء أخطاء JavaScript البالغة 100، مع الأسباب والحلول والأمثلة.
TypeErrorTypeError
القيمة ليست من النوع المتوقع. هذا هو أكثر أخطاء JavaScript شيوعاً، ويحدث عندما تصادف عملية ما قيمةً من نوع خاطئ.
TypeError: x is not a functionTypeError: x is not a function
جرت محاولة استدعاء قيمة كدالة في حين أنها ليست دالة.
TypeError: Cannot read properties of undefined/nullTypeError: Cannot read properties of undefined/null
محاولة قراءة خاصية أو دالة من قيمة undefined أو null.
TypeError: Cannot set properties of undefined/nullTypeError: لا يمكن تعيين خصائص undefined/null
جرت محاولة تعيين خاصية على قيمة undefined أو null.
TypeError: x is not iterableTypeError: x ليس قابلًا للتكرار
استُخدمت قيمة غير قابلة للتكرار في سياق يتطلب قيمة قابلة للتكرار، كحلقة for...of أو عامل الانتشار.
TypeError: x is not a constructorTypeError: x ليس دالة إنشاء
جرت محاولة استخدام الكلمة المفتاحية new مع قيمة ليست باني.
TypeError: Assignment to constant variableTypeError: إسناد إلى متغير ثابت
جرت محاولة إعادة إسناد متغير مصرَّح عنه بـ const.
TypeError: Cannot convert undefined or null to objectTypeError: لا يمكن تحويل undefined أو null إلى كائن
تلقّت إحدى الدوال المدمجة التي تتوقع كائناً قيمةَ null أو undefined بدلاً منه.
TypeError: Reduce of empty array with no initial valueTypeError: Reduce على مصفوفة فارغة بدون قيمة ابتدائية
استُدعي Array.reduce() على مصفوفة فارغة دون توفير قيمة ابتدائية.
TypeError: Cannot assign to read only propertyTypeError: لا يمكن الإسناد إلى خاصية للقراءة فقط
جرت محاولة الكتابة إلى خاصية للقراءة فقط، إما لأن الكائن مجمَّد أو لأن الخاصية معرَّفة كغير قابلة للكتابة.
ReferenceErrorReferenceError
أشار الكود إلى متغير غير موجود في النطاق الحالي.
ReferenceError: x is not definedReferenceError: x غير معرّف
أشار الكود إلى متغير لم يُصرَّح عنه في أي نطاق يمكن الوصول إليه.
ReferenceError: Cannot access before initializationReferenceError: لا يمكن الوصول قبل التهيئة
جرى الوصول إلى متغير مُصرَّح عنه بـ let أو const قبل تصريحه في المنطقة الميتة الزمنية.
ReferenceError: Invalid left-hand side in assignmentReferenceError: الجانب الأيسر من الإسناد غير صالح
جرت محاولة إسناد إلى شيء لا يمكن الإسناد إليه.
SyntaxErrorSyntaxError
واجه محرك JavaScript كوداً لا يتوافق مع صيغة اللغة.
SyntaxError: Unexpected tokenSyntaxError: رمز غير متوقع
واجه المحلل رمزاً (حرفاً أو كلمة مفتاحية) لم يكن متوقعاً في ذلك الموضع من الكود.
SyntaxError: Unexpected end of inputSyntaxError: نهاية غير متوقعة للمدخلات
وصل المحلل إلى نهاية المدخلات بينما كان لا يزال ينتظر المزيد من الكود، عادةً بسبب أقواس أو سلاسل نصية غير مغلقة.
SyntaxError: JSON.parse unexpected characterSyntaxError: JSON.parse حرف غير متوقع
واجه JSON.parse() صيغة JSON غير صالحة، مثل علامات اقتباس مفردة، أو فواصل زائدة، أو مفاتيح غير مقتبسة.
SyntaxError: Missing ) after argument listSyntaxError: قوس ) مفقود بعد قائمة الوسائط
استدعاء دالة يفتقر إلى القوس الختامي.
SyntaxError: Unterminated string literalSyntaxError: سلسلة نصية غير منتهية
سلسلة نصية تفتقر إلى علامة الاقتباس الختامية.
SyntaxError: Illegal return statementSyntaxError: عبارة return غير صالحة
استُخدمت جملة return خارج جسم دالة.
SyntaxError: Identifier has already been declaredSyntaxError: تم الإعلان عن المُعرّف مسبقًا
أُعلن عن متغير بنفس الاسم مرتين في النطاق ذاته باستخدام let أو const.
SyntaxError: Cannot use import statement outside a moduleSyntaxError: لا يمكن استخدام عبارة import خارج وحدة نمطية
استُخدم بناء جملة import الخاص بـ ES module في ملف غير معامَل كموديول.
SyntaxError: await is only valid in async functionsSyntaxError: await صالحة فقط داخل الدوال غير المتزامنة
استُخدمت الكلمة المفتاحية await خارج دالة async.
- RangeError
- RangeError: تم تجاوز الحد الأقصى لحجم مكدس الاستدعاءات
- RangeError: طول المصفوفة غير صالح
- RangeError: تاريخ غير صالح
- RangeError: الدقة خارج النطاق
- URIError: معرّف URI مشوّه
- EvalError
- InternalError: too much recursion
- AggregateError
- UnhandledPromiseRejection
- DOMException: تم إلغاء العملية
- DOMException: NetworkError
- DOMException: QuotaExceededError
- DOMException: SecurityError
- DOMException: NotAllowedError
- CORS Error: لا يوجد Access-Control-Allow-Origin
- CORS Error: فشل طلب الاستطلاع المسبق
- ECONNREFUSED
- ECONNRESET
- EADDRINUSE
- ENOTFOUND
- ETIMEDOUT
- ENOENT: لا يوجد ملف أو مجلد بهذا الاسم
- EACCES: الإذن مرفوض
- EPERM: العملية غير مسموح بها
- EMFILE: عدد كبير جدًا من الملفات المفتوحة
- ENFILE: عدد كبير جدًا من الملفات المفتوحة في النظام
- EISDIR: هذا مجلد
- ENOTDIR: ليس مجلداً
- EEXIST: الملف موجود مسبقاً
- EPIPE: أنبوب مكسور
- ENOSPC: لا مساحة متبقية على الجهاز
- ERR_HTTP_HEADERS_SENT
- ERR_MODULE_NOT_FOUND
- ERR_REQUIRE_ESM
- ERR_INVALID_ARG_TYPE
- ERR_INVALID_URL
- ERR_SOCKET_BAD_PORT
- ERR_TLS_CERT_ALTNAME_INVALID
- ERR_BUFFER_OUT_OF_BOUNDS
- ERR_STREAM_PREMATURE_CLOSE
- ERR_WORKER_OUT_OF_MEMORY
- JavaScript heap out of memory
- ERR_MISSING_ARGS
- ERR_UNESCAPED_CHARACTERS
- ERR_UNKNOWN_ENCODING
- ERR_CRYPTO_INVALID_STATE
- ERR_DLOPEN_FAILED
- ERR_OSSL_EVP_UNSUPPORTED
- ERR_SERVER_ALREADY_LISTEN
- ERR_FS_CP_DIR_TO_NON_DIR
- Error: Cannot find module
- ECONNABORTED
- EHOSTUNREACH
- ENETUNREACH
- ERR_ASSERTION
- TypeError: تحويل بنية دائرية إلى JSON
- TypeError: استدعاء دالة على مستقبِل غير متوافق
- TypeError: لا يمكن حذف خاصية من الكائن
- TypeError: لا يمكن تحويل قيمة Symbol إلى سلسلة نصية
- TypeError: لا يمكن إضافة خاصية، الكائن غير قابل للتوسيع
- SyntaxError: حذف اسم غير مؤهَّل في الوضع الصارم
- SyntaxError: مُهيِّئ مفقود في تصريح const
- SyntaxError: JSON.parse: تحليل غير صالح
- ERR_STREAM_WRITE_AFTER_END
- ERR_HTTP2_STREAM_ERROR
- ERR_CHILD_PROCESS_STDIO_MAXBUFFER
- ERR_INVALID_RETURN_VALUE
- ERR_UNHANDLED_REJECTION
- ERR_ASYNC_CALLBACK
- ERR_PACKAGE_PATH_NOT_EXPORTED
- ERR_IMPORT_ASSERTION_TYPE_FAILED
- ERR_NETWORK_IMPORT_DISALLOWED
- ERR_INSPECTOR_ALREADY_ACTIVATED
- DOMException: InvalidStateError
- DOMException: DataCloneError