TypeErrorTypeError
القيمة ليست من النوع المتوقع. هذا هو أكثر أخطاء JavaScript شيوعاً، ويحدث عندما تصادف عملية ما قيمةً من نوع خاطئ.
تصفّح جميع رموز أخطاء أخطاء JavaScript البالغة 100، مع الأسباب والحلول والأمثلة.
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 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استُخدم بناء جملة import الخاص بـ ES module في ملف غير معامَل كموديول.
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رُفض Promise دون وجود معالج .catch() أو كتلة try-catch للتعامل مع الرفض.
DOMException: The operation was abortedأُلغيت عملية عبر إشارة AbortController.
DOMException: NetworkErrorفشلت عملية شبكية، عادةً أثناء طلب fetch عندما تكون الشبكة غير متاحة.
DOMException: QuotaExceededErrorتجاوزت عملية تخزين الحصة المتاحة في localStorage أو IndexedDB أو غيرها من آليات تخزين المتصفح.
DOMException: SecurityErrorأوقف المتصفح عملية حساسة أمنيًا وفق سياساته الأمنية.
DOMException: NotAllowedErrorحُجب استدعاء واجهة برمجية في المتصفح لأنه يستلزم تفاعل المستخدم أو إذنًا لم يُمنح.
CORS Error: No Access-Control-Allow-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استُخدم استدعاء require() لتحميل وحدة ES، وهو أمر غير مسموح به.
ERR_INVALID_ARG_TYPEتلقّت واجهة برمجية في Node.js وسيطاً من نوع خاطئ.
ERR_INVALID_URLمُرِّر URL غير صالح إلى منشئ URL أو واجهة برمجية في Node.js.
ERR_SOCKET_BAD_PORTحُدِّد رقم منفذ غير صالح لعملية شبكية.
ERR_TLS_CERT_ALTNAME_INVALIDلا يتطابق اسم المضيف مع أي من أسماء الموضوع البديلة (SANs) في شهادة 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.
ERR_UNESCAPED_CHARACTERSمُرِّرت سلسلة نصية تحتوي على محارف غير مُهرَّبة حيث كانت سلسلة مُهرَّبة متوقعة.
ERR_UNKNOWN_ENCODINGمُرِّر ترميز مجهول أو غير مدعوم إلى واجهة برمجية في Node.js.
ERR_CRYPTO_INVALID_STATEتم تنفيذ عملية تشفير في حالة غير صالحة.
ERR_DLOPEN_FAILEDفشل تحميل إضافة أصيلة (ملف .node بلغة C++).
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 moduleتعذّر على Node.js تحديد موقع الوحدة المطلوبة في أيٍّ من المسارات التي جرى البحث فيها.
ECONNABORTEDتم إلغاء الاتصال، عادةً بسبب انتهاء مهلة الانتظار من جانب العميل.
EHOSTUNREACHالمضيف المستهدف غير قابل للوصول، عادةً بسبب مشاكل توجيه الشبكة.
ENETUNREACHالشبكة غير قابلة للوصول؛ لم يُعثر على أي مسار للشبكة المستهدفة.
ERR_ASSERTIONفشل تأكيد من وحدة assert في Node.js.
TypeError: Converting circular structure to JSONواجه JSON.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جرت محاولة كتابة إلى stream بعد إنهائه.
ERR_HTTP2_STREAM_ERRORحدث خطأ في HTTP/2 stream.
ERR_CHILD_PROCESS_STDIO_MAXBUFFERأنتج child process مخرجات تتجاوز حد maxBuffer المسموح به.
ERR_INVALID_RETURN_VALUEأعادت دالة قيمة ذات نوع غير متوقع.
ERR_UNHANDLED_REJECTIONتم ضبط Node.js لرمي استثناء عند وجود رفض promise غير معالَج، وقد رُصد مثل هذا الرفض.
ERR_ASYNC_CALLBACKمُرّرت قيمة غير دالة حيث كانت async callback مطلوبة.
ERR_PACKAGE_PATH_NOT_EXPORTEDجرى استيراد مسار فرعي لحزمة غير مُعرَّف في حقل exports الخاص بها.
ERR_IMPORT_ASSERTION_TYPE_FAILEDحدّد import assertion نوعاً لا يطابق النوع الفعلي للوحدة.
ERR_NETWORK_IMPORT_DISALLOWEDجرت محاولة استيراد شبكي (HTTP/HTTPS) لكنه غير مسموح به وفق إعداد Node.js الحالي.
ERR_INSPECTOR_ALREADY_ACTIVATEDجرى تفعيل Node.js inspector (المُنقّح) أكثر من مرة.
DOMException: InvalidStateErrorجرت محاولة تنفيذ عملية على كائن في حالة غير صالحة لتلك العملية.
DOMException: DataCloneErrorتعذّر استنساخ كائن باستخدام خوارزمية الاستنساخ البنيوي.