كائنEvalError في JavaScript

من موسوعة حسوب
مراجعة 08:55، 16 يناير 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

الكائن EvalError يُشير إلى حدوث خطأ في الدالة العامة eval()‎. من المهم ملاحظة أنَّ هذا الاستثناء لم يعد يرمى من لغة JavaScript؛ لكن الكائن EvalError قد بقي لأغراض التوافقية.

البنية العامة

new EvalError([message])

message

وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر.

الخاصيات والدوال التابعة للدالة البانية EvalError

الخاصيات

EvalError.prototype

تُمثِّل هذه الخاصية كائن prototype التابعة للكائن EvalError.

الدوال

الدالة البانية EvalError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype.

الكائن prototype

الخاصيات

EvalError.prototype.constructor

تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات EvalError؛ راجع صفحة الخاصيةObject.prototype.constructor لمزيدٍ من التفاصيل.

EvalError.prototype.message

رسالة الخطأ. وعلى الرغم من أنَّ مواصفة ECMAScript تقول أنَّه يجب أن يوفِّر كائن EvalError قيمةً خاصةً به للخاصية message، لكنه يرث الخاصية Error.prototype.message في أغلب محركات JavaScript.

EvalError.prototype.name

اسم الخطأ. هذه الخاصية موروثة من Error.prototype.name.

الدوال

كائن prototype التابع للكائن EvalError لا يملك أيّة دوال تابعة له مباشرةً، لكنه يرث بعض الخاصيات عبر سلسلة prototype.

أمثلة

الاستثناء EvalError لم يعد مستخدمًا في معيار ECMAScript الحالي، وبالتالي لن يُرمى تلقائيًا في زمن التشغيل؛ فهذا الكائن متوافر لأغراض تتعلق بالتوافقية مع إصدارات قديمة من معيار ECMAScript.

سنبيّن مثالًا عن هذا الاستثناء برميه يدويًا:

try {
  throw new EvalError('Hello');
} catch (e) {
  console.log(e instanceof EvalError); // true
  console.log(e.message);              // "Hello"
  console.log(e.name);                 // "EvalError"
}

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات