ReferenceErrorReferenceError
أشار الكود إلى متغير غير موجود في النطاق الحالي.
أسباب هذا الخطأ
حاولت استخدام متغير لم يُصرَّح عنه، أو غير موجود في النطاق، أو جرى الوصول إليه قبل تصريحه (المنطقة الميتة الزمنية). يمكن أن يحدث هذا أيضاً بسبب أخطاء إملائية في أسماء المتغيرات.
كيفية الإصلاح
صرِّح عن المتغير قبل استخدامه بـ let أو const أو var. تحقق من الأخطاء الإملائية في أسماء المتغيرات. تأكد من أن المتغير في النطاق عند الوصول إليه. استورد الوحدات المفقودة.
مثال
console.log(undeclaredVar); // ReferenceError: undeclaredVar is not definedرموز أخطاء ذات صلة
InternalError: too much recursionInternalError: too much recursion
خطأ خاص بمتصفح Firefox، يقابل الخطأ RangeError: Maximum call stack size exceeded في Chrome وNode.js.
EHOSTUNREACHEHOSTUNREACH
المضيف المستهدف غير قابل للوصول، عادةً بسبب مشاكل توجيه الشبكة.
URIErrorURIError: معرّف URI مشوّه
تلقّت دالة معالجة URI عامة (decodeURIComponent، encodeURI) عنوان URI مشوهًا.
SyntaxError: Applying delete to unqualified name in strict modeSyntaxError: حذف اسم غير مؤهَّل في الوضع الصارم
استُخدم عامل delete على اسم متغير مباشر في الوضع الصارم، وهو أمر غير مسموح به.
SyntaxError: Unterminated string literalSyntaxError: سلسلة نصية غير منتهية
سلسلة نصية تفتقر إلى علامة الاقتباس الختامية.
SyntaxError: JSON.parse unexpected characterSyntaxError: JSON.parse حرف غير متوقع
واجه JSON.parse() صيغة JSON غير صالحة، مثل علامات اقتباس مفردة، أو فواصل زائدة، أو مفاتيح غير مقتبسة.