الفرق بين المراجعتين لصفحة: «JavaScript/TypeError»
لا ملخص تعديل |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 76: | سطر 76: | ||
* معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.11.6.5 ECMAScript 5.1]. | * معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.11.6.5 ECMAScript 5.1]. | ||
* معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf#sec-15.11.6.5 ECMAScript 3rd Edition] . | * معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf#sec-15.11.6.5 ECMAScript 3rd Edition] . | ||
[[تصنيف:JavaScript]] | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Global Objects]] | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Error]] | [[تصنيف:JavaScript Error|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:40، 28 يناير 2018
الكائن TypeError
يُشير إلى حدوث خطأ عندما يكون نوع المتغير أو المعامل غير صحيح.
البنية العامة
new TypeError([message])
message
وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر.
الخاصيات والدوال التابعة للدالة البانية TypeError
الخاصيات
TypeError.prototype
تُمثِّل هذه الخاصية كائن prototype التابعة للكائن TypeError
.
الدوال
الدالة البانية TypeError
لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype.
الكائن prototype
الخاصيات
TypeError.prototype.constructor
تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات TypeError
؛ راجع صفحة الخاصيةObject.prototype.constructor
لمزيدٍ من التفاصيل.
TypeError.prototype.message
رسالة الخطأ. وعلى الرغم من أنَّ مواصفة ECMAScript تقول أنَّه يجب أن يوفِّر كائن TypeError
قيمةً خاصةً به للخاصية message
، لكنه يرث الخاصية Error.prototype.message
في أغلب محركات JavaScript.
TypeError.prototype.name
اسم الخطأ. هذه الخاصية موروثة من Error.prototype.name
.
الدوال
كائن prototype التابع للكائن TypeError
لا يملك أيّة دوال تابعة له مباشرةً، لكنه يرث بعض الخاصيات عبر سلسلة prototype.
أمثلة
سنحاول إنشاء شيفرة ترمي الخطأ TypeError
في المثال الآتي، وسنعالج الاستثناء باستخدام تعبير try...catch
:
try {
null.f();
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "null has no properties"
console.log(e.name); // "TypeError"
}
سنبيّن مثالًا عن هذا الاستثناء برميه يدويًا باستخدام الكلمة المحجوزة throw
:
try {
throw new TypeError('Hello');
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "TypeError"
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition .