الكائن ReferenceError
في JavaScript
الكائن ReferenceError
يُشير إلى حدوث خطأ عند محاولة الإشارة إلى متغيرٍ غير موجود.
البنية العامة
new ReferenceError([message])
message
وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر.
الخاصيات والدوال التابعة للدالة البانية ReferenceError
الخاصيات
ReferenceError.prototype
تُمثِّل هذه الخاصية كائن prototype التابعة للكائن ReferenceError
.
الدوال
الدالة البانية ReferenceError
لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype.
الكائن prototype
الخاصيات
ReferenceError.prototype.constructor
تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات ReferenceError
؛ راجع صفحة الخاصيةObject.prototype.constructor
لمزيدٍ من التفاصيل.
ReferenceError.prototype.message
رسالة الخطأ. وعلى الرغم من أنَّ مواصفة ECMAScript تقول أنَّه يجب أن يوفِّر كائن ReferenceError
قيمةً خاصةً به للخاصية message
، لكنه يرث الخاصية Error.prototype.message
في أغلب محركات JavaScript.
ReferenceError.prototype.name
اسم الخطأ. هذه الخاصية موروثة من Error.prototype.name
.
الدوال
كائن prototype التابع للكائن ReferenceError
لا يملك أيّة دوال تابعة له مباشرةً، لكنه يرث بعض الخاصيات عبر سلسلة prototype.
أمثلة
سنحاول إسناد قيمة المتغير undefinedVariable
غير المُعرَّف إلى المتغير a
في المثال الآتي، وسنعالج الاستثناء باستخدام تعبير try...catch
:
try {
var a = undefinedVariable;
} catch (e) {
console.log(e instanceof ReferenceError); // true
console.log(e.message); // "undefinedVariable is not defined"
console.log(e.name); // "ReferenceError"
}
سنبيّن مثالًا عن هذا الاستثناء برميه يدويًا باستخدام الكلمة المحجوزة throw
:
try {
throw new ReferenceError('Hello');
} catch (e) {
console.log(e instanceof ReferenceError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "ReferenceError"
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition .