نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الكائن Object في JavaScript

الدالة البانية Object تُنشِئ كائنًا. البنية العامة // الشكل المختصر لتهيئة الكائن { [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] } // استدعاء الدالة البانية new Object([value]) nameValuePairN أزواج من الأسماء (السلاسل النصية) والقيم (أيّ نوع من القيم) التي يُفصل فيها بين الاسم والقيمة بنقطتين رأسيتين :. value أيّة قيمة في JavaScript. الوصف الدالة البانية Object تُغلِّف (wrap) القيمة المعطية في كائن، وإذا كانت القيمة المعطية null أو undefined، فستُنشِئ وتُعيد كائنًا فارغًا، وفيما عدا ذلك فستُنشِئ وتُعيد كائنًا من النوع المناسب للقيمة المعطية، ...

let في JavaScript

تعبير let يُصرِّح عن متغير محلي للقسم الكتلي، ويمكن تهيئة قيمته الابتدائية اختياريًا. البنية العامة let var1 [= value1] [, var2 [= value2]] [, ..., varN [= valueN]]; varnameN اسم المتغير، ويمكن أن يكون أيّ معرِّف صالح في JavaScript. valueN القيمة الابتدائية للمتغير، ويمكن استخدام أيّ تعبير (expression) صالح في JavaScript. الوصف التعبير let يسمح بالتصريح عن متغيرات يكون مجالها (scope) محدودًا إلى القسم الكتلي (block statement)، أو إلى التعبير (expression) الذي اُستخدِمَ فيه؛ وهو على النقيض من الكلمة المحجوزة ...

الكلمة المحجوزة this في JavaScript

الكلمة المحجوزة this لها سلوكٌ في JavaScript يختلف عن بقية لغات البرمجة، وهنالك اختلافاتٌ في سلوكها بين النمط strict و non-strict. في أغلبية الحالات، تُحدَّد قيمة الكلمة المحجوزة this وفق طريقة استدعاء الدالة، إذ لا يمكن ضبط قيمتها باستخدام عملية الإسناد العادية أثناء التنفيذ؛ وقد تختلف قيمة this في كل مرة تُستدعى فيها الدالة. أضافت ES5 الدالة bind التي تضبط قيمة this داخل الدالة بغض النظر عن طريقة استدعائها، وأضافت ES2015 الدوال السهمية (arrow functions) التي تُوفِّر ربطًا خاصًا بها ...

الدالة globals()‎ في بايثون

تعيد الدّالة globals()‎ قاموسًا يحتوي على الكائنات العامّة الحاليّة. البنية العامة globals() المعاملات لا توجد مُعاملات لهذه الدالة. القيمة المعادة قاموس يُمثّل جدول الرّموز العامّ (global symbol table) ويكون دائمًا قاموسَ الوحدة الحاليّة، وفي داخل دالّة أو تابع، فإنّ القاموس يُمثّل الكائنات العامّة في الوحدة التي عُرّفت فيها الدّالة أو التّابع وليس الوحدة التي استُدعيَت منها. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة، لاحظ أنّ المُتغيّر x الذي نُعرّفه داخل الدّالة hello‎‎(‎)‎ لا يظهر في القاموس لأنّه كائن محليّ ...

undefinedفي JavaScript

الخاصية العامة undefined تُمثِّل القيمة الأوليّة undefined في JavaScript. سمات الخاصية undefined قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا البنية العامة undefined الوصف الخاصية undefined هي خاصيةٌ للكائن العام (global object) أي أنها متغيرٌ في المجال العام، والقيمة الابتدائية للخاصية undefined هي نوع البيانات الأوليّ undefined. الخاصية undefined غير قابلة للضبط وغير قابلة للكتابة في المتصفحات الحديثة (بدءًا من معيار ECMAScript 5)، لكن مع ذلك حاول تجنّب الكتابة عليها. المتغيرات التي لم تُسنَد لها قيمةٌ سيكون نوعها هو ...

الرموز Symbol في JavaScript

الدالة Symbol()‎ تُعيد قيمةً من النوع symbol، وتملك هذه الدالة خاصيات ساكنة (static properties) ودوال ساكنة (التي تُستخدَم للوصول إلى سجل الرموز العام، أي global symbol registry، ويسمى أيضًا بالمصطلح symbol table)؛ وهذه الدالة تحاول التشبه بالدوال البانية للكائنات، لكنها ليست دالةً بانيةً لعدم القدرة على استخدام المعامل new معها كما في new Symbol()‎. كل رمز (symbol) مُعاد من الدالة Symbol()‎ هو رمزٌ فريد؛ ويمكن أن يُستخدَم كمُعرِّف (identifier) لخاصيات الكائنات، وهذا هو الغرض الرئيسي من هذا النوع من البيانات. ...

const في JavaScript

الثوابت (constants) تكون تابعةً للمجال الكتلي (block scope) بما يُشبه المتغيرات المُعرَّفة عبر التعبير let، لكن قيمة الثوابت لا يمكن أن تتغير عبر إعادة إسناد القيمة، ولا يمكن إعادة تصريحها. البنية العامة const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]]; nameN اسم الثابت، ويمكن أن يكون أيّ معرِّف صالح في JavaScript. valueN قيمة الثابت، ويمكن استخدام أيّ تعبير (expression) صالح في JavaScript بما في ذلك الدوال. الوصف تكون الثوابت إما عامةً أو محليةً وتابعةً ...

for...in في JavaScript

التعبير البرمجي for...in يُنشِئ حلقة تكرار تمر على الخاصيات القابلة للإحصاء (enumerable properties) التابعة لأحد الكائنات، ويمكن تنفيذ تعابير برمجية لكل خاصية من خاصيات الكائن. البنية العامة for (variable in object) { //... } variable ستُنسَد قيمة الخاصية مختلفة لهذا المتغير في كل دورة. object الكائن الذي سنمر على الخاصيات القابلة للإحصاء (enumerable properties) التابعة له. الوصف حلقة التكرار for...in تمر على الخاصيات القابلة للإحصاء (enumerable properties) فقط، فالكائنات المُنشَأة من الدوال البانية المُضمَّنة في اللغة مثل Array و Object ...

var في JavaScript

تعبير variable يُصرِّح عن متغير، ويمكن تهيئة قيمته الابتدائية اختياريًا. البنية العامة var varname1 [= value1] [, varname2 [= value2] ... [, varnameN [= valueN]]]; varnameN اسم المتغير، ويمكن أن يكون أيّ معرِّف صالح في JavaScript. valueN القيمة الابتدائية للمتغير، ويمكن استخدام أيّ تعبير (expression) صالح في JavaScript، والقيمة الافتراضية هي undefined. الوصف التصريح عن المتغيرات سيُعالَج قبل تنفيذ أيّة شيفرات أينما وقعت، ومجال (scope) المتغيرات المُصرَّح عنا عبر var هو سياق التنفيذ الحالي (execution context)، كمجال الدوال، أو المجال ...

الصنف Object في روبي

يعدُّ الصنف Object الجذر الافتراضي لكل كائنات روبي. يَرِث الصنف Object من الصنف BasicObject ما يسمح بإنشاء تسلسلات هرمية بديلة للكائن. تُتاح توابع الكائن لكل الأصناف ما لم يتم تجاهلها (overridden) صراحةً. تندمج الوحدة Kernel ضمن الصنف Object ما يعطي الوصول العام (global) للدّوال المبنية ضمنيًّا في الوحدة. رغم أنَّ توابع النسخة المنشأة من الصنف Object معرَّفةٌ عن طريق الوحدة Kernel، رأينا أن نوثّقهم هنا لمزيد من الوضوح. عند الإشارة (referencing) إلى الثوابت في الأصناف الوارثة من الصنف Object، لا ...

العمل مع JavaScript في ريلز

يغطي هذا الدليل وظيفة Ajax/JavaScript المضمّنة في ريلز (والمزيد)؛ وسوف يمكنك من إنشاء تطبيقات Ajax غنية وديناميكية بكل سهولة! ستتعلم بعد قراءة هذا الدليل: أساسيات Ajax. جافاسكربت الواضحة (Unobtrusive JavaScript). كيف يساعدك مساعدو ريلز المدمجون (built-in helpers). كيفية التعامل مع Ajax من طرف الخادم. الجوهرة Turbolinks. مقدمة لفهم Ajax لفهم أجاكس، يجب أولًا فهم ما يفعله متصفّح الويب بشكل طبيعي. عندما تكتب http://localhost:3000 في شريط عنوان المتصفّح وتضغط على "Go" ، يقدّم المتصفح ("العميل") طلبًا للخادم، ويفرز الاستجابة ثم يجلب ...

الكائن JSON في JavaScript

الكائن JSON يحتوي على الدوال التي تُفسِّر صيغة JavaScript Object Notation (اختصارًا JSON) وتحوّل القيم إلى صيغة JSON. ليس الغرض من هذا الكائن هو تهيئته أو بناؤه (عبر المعامل new)، وليس له عملٌ خاصٌ به باستثناء وجود دالتين تابعتين له. الوصف صيغة JSON هي صيغة لتخزين الكائنات والمصفوفات والأعداد والسلاسل النصية والقيم المنطقية والقيمة null؛ وهي مبنية على صيغة JavaScript لكنها تختلف عنها، فبعض شيفرات JavaScript ليست صالحةً في JSON، وبعض شيفرات JSON ليس صالحةً في JavaScript. الجدول الآتي يعرض ...

for...of في JavaScript

التعبير البرمجي for...of يمر على الكائنات التي يمكن الدوران على عناصرها (iterable objects) بما في ذلك الكائن Array و Map و Set و String و TypedArray و Arguments، وتنفيذ تعابير برمجية معيّنة على قيمة كل خاصية من خاصيات تلك الكائنات. البنية العامة for (variable of iterable) { statement } variable ستُنسَد قيمة الخاصية مختلفة لهذا المتغير في كل دورة. iterable خاصيات الكائن القابلة للدوران (iterable properties). الوصف الفرق بين حلقتَي التكرار for...of و for...in التعبيران البرمجيان for...in و for...of يُستخدَمان للدوران ...

الكائن Function في JavaScript

الدالة البانية Function تُنشِئ كائن Function جديد، واستدعاء الدالة البانية مباشرةً يمكِّننا من إنشاء الدوال ديناميكيًا، لكنه يعاني من مشاكل تتعلق بالأداة والناحية الأمنية بما يشابه دالة eval. يجدر بالذكر أنَّ جميع الدوال في JavaScript هي كائنات Function. البنية العامة new Function ([arg1[, arg2[, ...argN]],] functionBody) arg1, arg2, ... argN الأسماء المستخدمة من الدالة للإشارة إلى الوسائط المُمرَّرة إلى الدالة، ويجب أن تكون سلاسل نصية تُمثِّل مُعرِّفات JavaScript صالحة أو قائمة من تلك السلاسل النصية التي يُفصَل بينها بفاصلة؛ مثلًا: ...

المعامل in في JavaScript

المعامل in يُعيد القيمة true إذا كانت الخاصية المُحدَّدة موجودةً في الكائن أو في سلسلة prototype الخاصة به. البنية العامة prop in object prop سلسلة نصية أو رمز يُمثِّل اسم الخاصية أو فهرس المصفوفة. object الكائن الذي سنتحقق من وجود الخاصية فيه أو في سلسلة prototype الخاصة به. الوصف يوضِّح المثال الآتي بعض حالات استخدام المعامل in: // المصفوفات var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple']; 0 in trees // true 3 in trees ...

المعامل instanceof في JavaScript

المعامل instanceof يختبر إذا كانت الخاصية prototype لدالة بانية تظهر في أيّ مكان في سلسلة prototype لأحد الكائنات. البنية العامة object instanceof constructor object الكائن الذي نريد معرفة إن كانت خاصية prototype للدالة البانية constructor ستظهر في أي مكان في سلسلة prototype الخاصة به. constructor الدالة البانية التي سنختبر الكائن بها. الوصف يختبر المعامل instanceof وجود الخاصية constructor.prototype في سلسلة prototype للكائن object. // تعريف الدوال البانية function C() {} function D() {} var o = new C(); // true: Object.getPrototypeOf(o) === C.prototype o instanceof ...

الكائن arguments في JavaScript

الكائن arguments هو كائن شبيه بالمصفوفات يمنحنا وصولًا إلى الوسائط المُمرَّرة إلى دالةٍ ما. البنية العامة arguments الوصف الكائن arguments هو متغيرٌ محليٌّ متاحٌ في جميع الدوال (عدا الدوال السهمية)، ويمكنك الإشارة إلى الوسائط المُمرَّرة إلى الدالة داخلها باستخدام الكائن arguments. يحتوي هذا الكائن على كل وسيط مُمرَّر إلى الدالة مرتبًا بنفس ترتيب تمريره بدءًا من الفهرس 0. على سبيل المثال، إذا مُرَّرتَ ثلاثة وسائط إلى دالةٍ ما، فيمكنك الإشارة إليها كما يلي: arguments[0] arguments[1] arguments[2] يمكنك ضبط قيمة الوسائط أيضًا: arguments[1] = ...

المعامل typeof في JavaScript

المعامل typeof يُعيد سلسلةً نصية تُشير إلى نوع القيمة التي تليه. البنية العامة typeof operand operand تعبير يُمثِّل كائنًا أو نوع بيانات أوليّ الذي نريد إعادة نوعه. الوصف الجدول الآتي يُلخِّص القيم التي يمكن أن يُعيدها المعامل typeof: النوع النتيجة undefined "undefined" null "object" (انظر الأمثلة) Boolean "boolean" Number "number" String "string" Symbol (جديد في ECMAScript 2015) "symbol" Function "function" أي كائن آخر "object" أمثلة // الأعداد typeof 37 === 'number'; typeof 3.14 === 'number'; typeof(42) === 'number'; typeof Math.LN2 === 'number'; typeof Infinity === ...

الدالة eval()‎ في JavaScript

الدالة eval()‎ تُقدِّر قيمة شيفرة JavaScript المُمثَّلة في سلسلة نصية. البنية العامة eval(string) string سلسلة نصية تُمثِّل أحد التعبيرات أو التعبيرات البرمجية أو سلسلة من التعبيرات البرمجية في JavaScript، ويمكن أن يحتوي التعبير أيضًا على متغيرات وخاصيات لكائنات موجودة مسبقًا. القيمة المعادة ستُعيد الدالة eval()‎ قيمة آخر تعبير قد قُدِّرَت قيمته، وإذا كانت قيمته فارغةً فستُعاد القيمة undefined. الوصف الدالة eval()‎ هي خاصيةٌ للكائن العام (global object)، وتقبل وسيطًا هو سلسلة نصية، وإذا كانت هذه السلسلة النصية تُمثِّل تعبيرًا (expression ...

كائنEvalError في JavaScript

الكائن EvalError يُشير إلى حدوث خطأ في الدالة العامة eval()‎. من المهم ملاحظة أنَّ هذا الاستثناء لم يعد يرمى من لغة JavaScript؛ لكن الكائن EvalError قد بقي لأغراض التوافقية. البنية العامة new EvalError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الخاصيات والدوال التابعة للدالة البانية EvalError الخاصيات EvalError.prototype تُمثِّل هذه الخاصية كائن prototype التابعة للكائن EvalError. الدوال الدالة البانية EvalError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype. الكائن prototype الخاصيات EvalError.prototype.constructor ...

الوصول إلى الخاصيات في JavaScript

طرائق الوصول إلى الخاصيات توفِّر وصولًا إلى خاصيات أحد الكائنات باستخدام طريقة النقط أو طريقة الأقواس. البنية العامة object.property object['property'] الوصف يمكننا عدّ الكائنات على أنها مصفوفات ترابطية (أي associative array، ويُطلَق عليها أيضًا map و dictionary و hash و lookup table)، وتكون المفاتيح (keys) في المصفوفة هي أسماء خاصيات الكائن. من الشائع عند حديثنا عن خاصيات الكائنات التفريق بين الخاصيات (properties) والدوال التابعة للكائن، لكن تقنيًا تكون الدوال هي خاصيات مُنشَأة من الكائن Function. هنالك طريقتان للوصول إلى خاصيات الكائنات: ...

الدوال في JavaScript

على وجه العموم، الدالة هي «برنامجٌ فرعي» (subprogram) الذي يمكن استدعاؤه من شيفرة خارجية (أو داخلية، في حال أردنا استدعاء الدالة تعاوديًا [recursively])؛ وتحتوي الدالة على سلسلةٍ من التعابير البرمجية التي تسمى «جسم الدالة»، ويمكن تمرير قيم إلى الدالة، وتستطيع الدالة أن تعيد قيمةً ما. تُعدّ الدوال في JavaScript على أنَّها كائنات من الصنف الأول (first-class objects)، لأنها تملك خاصيات ودوال مثل بقية الكائنات، لكن ما يميّزها عن بقية الكائنات هو إمكانية استدعائها، إذ إنَّها كائنات من النوع Function. الوصف ...

مهيئ الكائنات في JavaScript

يمكن تهيئة الكائنات باستخدام new Object()‎ أو الدالة Object.create()‎ أو باستخدام الشكل المختصرة (initializer notation). إنَّ مُهيّئ الكائنات هو قائمة فيها «صفر» زوج أو أكثر من أسماء الخاصيات مع القيم المرتبطة بها، مفصولةٌ بفواصل، ويحيط بها قوسين معقوفين {}. البنية العامة var o = {}; var o = {a: 'foo', b: 42, c: {}}; var a = 'foo', b = 42, c = {}; var o = {a: a, b: b, c: c}; var o = { property: function ([parameters]) {}, get property() ...

مجالات الأسماء والوحدات في TypeScript

ملاحظة حول المصطلحات تغيّرت طريقة استخدام المصطلحات في النسخة TypeScript 1.5، إذ كانت مجالات الأسماء (namespaces) تُسمّى قديمًا بمصطلح "الوحدات الداخليّة (internal modules)"، وما كان يُسمّى بالوحدات الخارجيّة (External modules) أصبح يُسمّى ببساطة بمصطلح "الوحدات (modules)" وهو ما سنغطّيه في هذه الصفحة. ويجب استخدام الكلمة المفتاحية ‎namespace‎ في الأماكن التي كانت تُستخدَم فيها الكلمة المفتاحية ‎module‎ للتصريح عن وحدة داخليّة في النسخ التي سبقت TypeScript 1.5، أي أنّ عليك استخدام ‎namespace X {‎ عوضًا عن ‎module X {‎ (انظر صفحة ...

PHP Object Iteration

يقدّم الإصدار الخامس من اللغة طريقة لتعريف العناصر ليكون بالإمكان المرور على قائمة من العناصر باستخدام العبارة foreach على سبيل المثال، وتستخدم جميع الخصائص المرئية بصورة افتراضية لعملية المرور على العناصر. المثال 1: مثال بسيط على المرور على عناصر الكائن <?php class MyClass { public $var1 = 'value 1'; public $var2 = 'value 2'; public $var3 = 'value 3'; protected $protected = 'protected var'; private ...

الدالة object()‎ في بايثون

تعيد الدّالة object()‎ كائنًا object‎ خامًا عديمَ المزايا، وهو الكائن الذي يُعدّ أساس جميع الأصناف. ويحتوي على التّوابع الشّائعة ضمن جميع نُسخ أصناف بايثون. البنية العامة object() المعاملات لا توجد مُعاملات. القيمة المعادة كائن object‎. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> object() <object object at 0x7f4f53afd0b0> ملاحظات لا يملك الكائن object‎ التّابع الخاصّ ‎_‎_‎dict‎_‎_‎‎، لذا لا يُمكنك إنشاء خاصيّات جديدة لنسخ الصّنف object‎. مصادر قسم الدالة object في صفحة Functions في توثيق Python الرسمي.

PHP Object Iteration

يقدّم الإصدار الخامس من اللغة طريقة لتعريف العناصر ليكون بالإمكان المرور على قائمة من العناصر باستخدام العبارة foreach على سبيل المثال، وتستخدم جميع الخصائص المرئية بصورة افتراضية لعملية المرور على العناصر. المثال 1: مثال بسيط على المرور على عناصر الكائن <?php class MyClass { public $var1 = 'value 1'; public $var2 = 'value 2'; public $var3 = 'value 3'; protected $protected = 'protected var'; private ...

الكائن Number في JavaScript

الكائن Number هو كائن مُغلِّف (wrapper object) الذي يسمح لك بالعمل مع القيم العددية، وتُنشَأ كائنات Number باستخدام الدلة البانية Number()‎. البنية العامة new Number(value); value القيمة العددية التي سيحملها الكائن المُنشَأ. الوصف الاستخدامات الأساسية لكائنات Number هي: إذا لم يكن بالإمكان تحول الوسيط المُمرَّر إلى الدالة البانية إلى قيمة رقمية، فستُعاد القيمة NaN. عند استخدام الدالة Number دون المعامل new (أي أنها ليست دالةً بانيةً)، فيمكن أن تُستخدَم لإجراء تحويل بين أنواع القيم. الخاصيات التابعة للدالة البانية Number Number.EPSILON ...

JavaScript/Topics

الكائنات العامة في هذا القسم جميع الكائنات العامة المُضمَّنة في لغة JavaScript، إضافةً إلى جميع الخاصيات والدوال التابعة لها. الخاصيات العامة هذه الخاصيات العامة تُعيد قيمةً بسيطةً، فهي لا تُمثِّل دوالًا أو خاصياتٍ تابعة لأحد الكائنات. Infinity NaN undefined null الدوال العامة هذه الدوال العامة -أي التي تستدعى في النطاق العام بدل استدعائها على كائن بعينه- تُعيد نتائجها إلى التعبير البرمجي الذي استدعاها. eval()‎‎ isFinite()‎ isNaN()‎ parseFloat()‎ parseInt()‎ decodeURI()‎ decodeURIComponent()‎ encodeURI()‎ encodeURIComponent()‎ escape()‎ unescape()‎ الكائنات الأساسية هذه هي الكائنات الأساسية ...

for في JavaScript

التعبير البرمجي for يُنشِئ حلقة تكرار تتألف من ثلاثة تعبيرات برمجية اختيارية تحيط بها أقواس وتفصل بينها فواصل منقوطة، ويليها تعبيرٌ برمجيٌ (وعادةً يكون قسمًا كتليًا [block statement]) سيُنفَّذ في كل تكرار للحلقة. البنية العامة for ([initialization]; [condition]; [final-expression]) statement initialization تعبير (يتضمن تعابير الإسناد) أو تصريح عن متغير، ويُستخدَم عادةً لتهيئة متغير العدّاد؛ وهذا التعبير قد يُصرِّح اختياريًا عن متغيرات جديدة باستخدام الكلمة المحجوزة var؛ وهذه المتغيرات ليست محليةً وتابعةً لحلقة التكرار، وإنما ستكون موجودةً في نفس ...

المعامل delete في JavaScript

المعامل delete يحذف خاصيةً من كائن. البنية العامة delete expression إذ يجب أن تكون نتيجة التعبير expression هي مرجعية إلى خاصية من خاصيات الكائن، مثلًا: delete object.property delete object['property'] object اسم الكائن، أو تعبير نتيجته هي إشارة إلى كائنٍ ما. property اسم الخاصية التي نريد حذفها. القيمة المعادة القيمة true لكل الحالات إلا إذا كانت الخاصية غير قابلة للضبط (non-configurable property)، وفي هذه الحالة ستُعاد القيمة false في النمط non-strict. الاستثناءات سيُرمى SyntaxError في نمط strict إذا كانت الخاصية غير قابلةً للضبط ...

الكائن Array في JavaScript

الكائن Array يُستخدَم في إنشاء المصفوفات، والتي هي قوائم شبيهة بالكائنات. إنشاء مصفوفة var fruits = ['Apple', 'Banana']; console.log(fruits.length); // 2 الوصول إلى عنصر من عناصر المصفوفة var first = fruits[0]; // Apple var last = fruits[fruits.length - 1]; // Banana المرور على عناصر المصفوفة بحلقة تكرار fruits.forEach(function(item, index, array) { console.log(item, index); }); // Apple 0 // Banana 1 إضافة عنصر في نهاية المصفوفة var newLength = fruits.push('Orange'); // ["Apple", "Banana", "Orange"] إزالة عنصر من نهاية المصفوفة var last = fruits.pop(); // إزالة Orange (من النهاية) // ["Apple", ...

الكائن TypeError في JavaScript

الكائن TypeError يُشير إلى حدوث خطأ عندما يكون نوع المتغير أو المعامل غير صحيح. البنية العامة new TypeError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الخاصيات والدوال التابعة للدالة البانية TypeError الخاصيات TypeError.prototype تُمثِّل هذه الخاصية كائن prototype التابعة للكائن TypeError. الدوال الدالة البانية TypeError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype. الكائن prototype الخاصيات TypeError.prototype.constructor تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات TypeError؛ راجع صفحة الخاصيةObject.prototype.constructor لمزيدٍ من التفاصيل. TypeError.prototype.message رسالة ...

الكائن Error في JavaScript

الدالة البانية Error تُنشِئ كائن خطأ، والنسخ الكائنات من النوع Error ستُرمى عند حدوث أخطاء في وقت التنفيذ (runtime errors)؛ لاحظ أنَّ الكائن Error يُستخدَم أيضًا ككائن أساس للاستثناءات التي يُعرَّفها المستخدم. انظر أدناه للحصول على قائمة بأنواع الأخطاء القياسية المُضمَّنة في اللغة. البنية العامة new Error([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الوصف الأخطاء التي تحدث في وقت التنفيذ (runtime errors) تؤدي إلى إنشاء ورمي كائنات Error جديدة. أنواع الأخطاء بجانب الدالة البانية Error العامة، هنالك ...

الكائن RangeError في JavaScript

الكائن RangeError يُشير إلى حدوث خطأ وقع عندما تكون قيمة متغير رقمي أو معاملٍ ما خارج المجال المسموح. البنية العامة new RangeError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الوصف سيرمى الخطأ RangeError عند محاولة تمرير رقم كوسيط إلى دالة لا تعدّ هذا الرقم ضمن المجال المسموح للقيم التي تقبلها؛ وسيحدث ذلك عند محاولة إنشاء مصفوفة لها طول (length) غير صحيح باستخدام الدالة البانية Array، أو عند تمرير قيم غير صالحة إلى الدوال Number.toExponential()‎ أو Number.toFixed()‎ أو Number.toPrecision()‎. ...

الكائن SyntaxError في JavaScript

الكائن SyntaxError يُشير إلى حدوث خطأ عند محاولة تفسير شيفرة ذات بنية غير صحيحة. البنية العامة new SyntaxError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الخاصيات والدوال التابعة للدالة البانية SyntaxError الخاصيات SyntaxError.prototype تُمثِّل هذه الخاصية كائن prototype التابعة للكائن SyntaxError. الدوال الدالة البانية SyntaxError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype. الكائن prototype الخاصيات SyntaxError.prototype.constructor تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات SyntaxError؛ راجع صفحة الخاصيةObject.prototype.constructor لمزيدٍ من التفاصيل. SyntaxError.prototype.message رسالة ...

الكائن Date في JavaScript

الدالة البانية Date تُنشِئ كائنًا من النوع Date الذي يُمثِّل لحظة زمنية معيّنة. القيمة الزمنية الموجودة في كائنات Date هي كم ملي ثانية مضى منذ تاريخ 1 كانون الثاني (يناير) 1970 بتوقيت UTC. البنية العامة new Date(); new Date(value); new Date(dateString); new Date(year, month, day, hours, minutes, seconds, milliseconds); ملاحظة: كائنات Date في JavaScript يمكن تهيئتها باستخدام Date كدالة بانية فقط، أي استدعاؤها كدالة عادية (دون المعامل new) وسيُعيد ذلك سلسلةً نصيةً بدلًا من الكائن Date، وعلى النقيض من بقية أنواع كائنات JavaScript، لا ...

الكائن RegExp في JavaScript

الكائن RegExp هو دالةٌ بانيةٌ تُنشِئ تعابير نمطيةً (regular expressions) لمُطابَقة النص مع نمط. البنية العامة يمكن أن تأخذ التعابير النمطية الشكل الآتي (الشكل المختصر، ثم الدالة البانية، ثم الدالة RegExp): /pattern/flags new RegExp(pattern[, flags]) RegExp(pattern[, flags]) pattern التعبير النمطي. flags إذا حُدِّدَت قيمة هذا الوسيط، فستحتوي على تجميعة من الرايات الآتية. g المطابقة في كامل السلسلة النصية، أي العثور على جميع المطابقات بدل التوقف عند أوّل مطابقة. i تجاهل حالة الأحرف. m تعدد الأسطر، أي معاملة محرف البداية والنهاية (أي ^ ...

الكائن URIError في JavaScript

الكائن URIError يُمثِّل أحد الأخطاء التي تقع عند تمرير وسائط غير صالحة إلى دالة encodeURI()‎ (أو encodeURIComponent()‎) أو decodeURI()‎ (أو decodeURIComponent()‎) البنية العامة new URIError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الخاصيات والدوال التابعة للدالة البانية URIError الخاصيات URIError.prototype تُمثِّل هذه الخاصية كائن prototype التابعة للكائن URIError. الدوال الدالة البانية URIError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype. الكائن prototype الخاصيات URIError.prototype.constructor تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات URIError؛ راجع صفحة الخاصيةObject.prototype.constructor لمزيدٍ ...

الكائن 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 رسالة الخطأ. ...

الكائن Boolean في JavaScript

الكائن Boolean هو كائن مُغلِّف لنوع القيم الأوليّة boolean (المنطقية). البنية العامة new Boolean([value]) value وسيط اختياري، وهو القيمة الابتدائية للكائن Boolean. الوصف القيمة المُمرَّرة كوسيط إلى الدالة البانية Boolean ستُحوَّل إلى قيمة منطقية إن كان ذلك ضروريًا؛ وإذا لم تُحدَّد القيمة، أو كانت 0 أو -0 أو null أو false أو NaN أو undefined أو سلسلة نصية فارغة "" فستكون القيمة الابتدائية للكائن هي false؛ وجميع القيمة الأخرى بما في ذلك أيّة كائنات أو السلسلة النصية "false" ستُنشِئ كائنًا ...

الكائن Math في JavaScript

الكائن Math هو كائنٌ مُضمَّن في اللغة الذي يملك خاصيات ودوال تُمثِّل الثوابت والدوال الرياضيّة. هذا الكائن ليس دالةً بحد ذاته، انظر قسم الوصف للمزيد من المعلومات. الوصف على النقيض من الكائنات العامة الأخرى، الكائن Math ليس دالةً بانيةً (constructor)، وجميع الخاصيات والدوال التابعة للكائن Math هي خاصيات ساكنة (static)، وهذا يعني أنَّك تستطيع الإشارة إلى الثابت الرياضي π (باي) باستخدام الخاصية Math.PI وتستطيع استخدام دالة جيب الزاوية (sine) كما يلي Math.sin(x)‎، إذ إنَّ القيمة x هي الوسيط المُمرَّر إلى ...

القيمة null في JavaScript

القيمة null تُمثِّل الغياب المقصود لقيمة الكائن، وهي من أنواع القيم الأوليّة في JavaScript. البنية العامة null الوصف القيمة null تُستخدَم عبر ذكر null، لاحظ أنَّ null ليست مُعرِّفًا لخاصية في الكائن العام (أي أنها ليست مثل الخاصية undefined)، وإنما null تُعبِّر عن عدم وجود تعريف (identification) من الأساس، وتدل على أنَّ المتغير لا يُشير إلى أيّ كائن. // المتغير غير موجود، إذ لم يُعرَّف أو يُهيّئ من قبل console.log(foo); // ReferenceError: foo is not defined // أصبح المتغير موجودًا لكن ليس ...

نطاق المتغيرات في PHP

النطاق (scope) هو السياق الذي تعرّف ضمنه المتغيرات، وفي معظم الحالات تمتلك جميع متغيرات PHP نطاقًا واحدًا فقط، ويمتد هذا النطاق ليشمل الملفات المضمّنة (included) والمطلوبة (required) كذلك. فمثلاً: <?php $a = 1; include 'b.inc'; ?> هنا سيكون المتغير ‎$a متوفّراً ضمن شيفرة b.inc المضمّنة، ولكن يصبح النطاق ضمن الدوال المعرّفة من طرف المستخدم نطاقًا محلّيًا (local scope)، وتكون جميع المتغيرات المستخدمة داخل الدالة محدّدة بصورة تلقائية ضمن النطاق المحلي. مثلًا: <?php // نطاق عام $a = 1; function test() { // ...

نطاق المتغيرات في PHP

النطاق (scope) هو السياق الذي تعرّف ضمنه المتغيرات، وفي معظم الحالات تمتلك جميع متغيرات PHP نطاقًا واحدًا فقط، ويمتد هذا النطاق ليشمل الملفات المضمّنة (included) والمطلوبة (required) كذلك. فمثلاً: <?php $a = 1; include 'b.inc'; ?> هنا سيكون المتغير ‎$a متوفّراً ضمن شيفرة b.inc المضمّنة، ولكن يصبح النطاق ضمن الدوال المعرّفة من طرف المستخدم نطاقًا محلّيًا (local scope)، وتكون جميع المتغيرات المستخدمة داخل الدالة محدّدة بصورة تلقائية ضمن النطاق المحلي. مثلًا: <?php // نطاق عام $a = 1; function test() { // ...

الدالة exec()‎ في بايثون

تُستعمَل الدّالة exec()‎ لتنفيذ شيفرة بايثون ديناميكيًّا. البنية العامة exec(object[, globals[, locals]]) المعاملات object سلسلة نصيّة تُمثّل شيفرة بايثون المُراد تنفيذها أو كائن شيفرة كذلك الذي تُعيده الدّالة compile()‎. إن كان سلسلةً نصيّة، فستُعالج على أنّها جمل بايثون عاديّة وستُنفّذ (إلّا في حالة حدث خطأ في بنية الشّيفرة). إن كان كائنَ شيفرة، فسيُنفّذ فقط. وعلى أية حال، يجب على الشّيفرة المرغوب تنفيذها أن تكون شيفرة بايثون صالحة. وانتبه إلى أنّه لا يجوز استخدام الجملتين return و yield خارج تعريفات الدّوال ...

VM (تنفيذ JavaScript) في Node.js

مؤشر الاستقرار: 2 - مستقر. توفر الوحدة vm واجهات تطبيقات لترجمة وتشغيل الشيفرات البرمجية ضمن سياقات آلآت V8 الافتراضية. ويمكن ترجمة شيفرة JavaScript البرمجية وتشغيلها فورًا أو تجميعها وحفظها وتشغيلها لاحقًا. من الاستخدامات الشائعة، تشغيل التعليمات البرمجية في بيئة تجريبية معزولة (sandbox environment). وتُستخدم شيفرة sandbox سياق V8 مختلف، مما يعني انه يحتوي علي كائن عام مختلف عن باقي الشيفرة البرمجية. ويمكن توفير السياق عن طريق وضع كائن sandbox المعزول في السياق. وتعامل الشيفرةُ المعزولة أي خاصية في بيئة sandbox ...

JavaScript/Topics/Statements

في هذا القسم جميع التعابير البرمجية الموجودة في لغة JavaScript. التحكم في التنفيذ block تُستخدَم الأقسام الكتلية لتجميع عدِّة تعابير برمجية معًا، ويُعرَّف القسم بزوجين من الأقواس المعقوفة {}. break يإنهاء حلقة التكرار الحالية أو التعبير switch أو label، وستنقل تنفيذ البرنامج إلى التعبير البرمجي الذي يلي التعبير الذي انتهى. continue تجاوز تنفيذ التعابير البرمجية في التكرار الحالي (iteration) في حلقة التكرار الحالية أو حلقة التكرار المسماة (عبر لافتة)، وسيستمر تنفيذ الحلقة بدءًا من التكرار التالي. Empty يُستخدَم لتجنب توفير تعبير برمجي في ...

التابع ‎‎jQuery.globalEval()‎‎ في jQuery

jQuery.globalEval( code )‎ القيم المعادة يعيد أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيَّة إعادة أي نوع). الوصف يُنفِّذ هذا التابع جزءًا من شيفرة JavaScript على الصعيد العام. jQuery.globalEval( code )‎ أُضيفت مع الإصدار: 1.0.4 code سلسلة نصية تحوي شيفرة JavaScript المراد تنفيذها. يسلك هذا التابع سلوكًا مختلفًا عن سلوك الدالة eval()‎ الطبيعي في JavaScript، إذ يُنفَّذ التابع ضمن السياق العام (هذا السلوك مهم لتحميل سكربتات خارجيَّة ديناميكيًّا). أمثلة تنفيذ سكربت في السياق العام (global context): function ...

التابع ‎‎jQuery.globalEval()‎‎ في jQuery

jQuery.globalEval( code )‎ القيم المعادة يعيد أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيَّة إعادة أي نوع). الوصف يُنفِّذ هذا التابع جزءًا من شيفرة JavaScript على الصعيد العام. jQuery.globalEval( code )‎ أُضيفت مع الإصدار: 1.0.4 code سلسلة نصية تحوي شيفرة JavaScript المراد تنفيذها. يسلك هذا التابع سلوكًا مختلفًا عن سلوك الدالة eval()‎ الطبيعي في JavaScript، إذ يُنفَّذ التابع ضمن السياق العام (هذا السلوك مهم لتحميل سكربتات خارجيَّة ديناميكيًّا). أمثلة تنفيذ سكربت في السياق العام (global context): function ...

الكائن المؤجل (Deferred Object)

قُدِّم الكائن المؤجل في الإصدار jQuery 1.5، وهو كائن أداة قابل للتسلسل ينشأ عن طريق استدعاء التابع jQuery.Deferred()‎‎‎. ويمكنه تسجيل عدة دوال رد اتصال في صفوف رد الاتصال، واستدعاء هذه الصفوف، ونقل حالة النجاح أو الفشل لأي دالة متزامنة أو غير متزامنة. يكون الكائن المؤجل قابلاً للتسلسل، مماثلاً للطريقة التي يكون فيها كائن jQuery قابلاً للتسلسل، ولكن له توابعه الخاصة. بعد إنشاء كائن مؤجل، يمكنك استخدام أي من التوابع المذكورة أدناه إما بالتسلسل مباشرة من إنشاء الكائن، أو حفظ الكائن ...

التابع Object._id2ref في روبي

يُحوِّل التابع id2ref_ معرِّف الكائن (id) إلى مرجعٍ للكائن. لا يجب استدعاؤه على معرِّف كائنٍ مُرِّر كمعامل ٍ إلى مُنهِي (finalizer). البنية العامة _id2ref(object_id) → an_object المعاملات object_id رقم معرِّف الكائن. القيم المعادة يُعاد الكائن المُسند إلى المُعرِّف object_id. أمثلة مثالٌ عن استخدام التابع id2ref_: s = "I am a string" #=> "I am a string" r = ObjectSpace._id2ref(s.object_id) #=> ...

المعامل == في الصنف Object في روبي

يتحقَّق المعامل == من تساوي كائنين مع بعضهما بعضًا. استُبدِل هذا المعامل في الأصناف السليلة (descendants) لتوفير دلالاتٍ خاصّةٍ بالصنف. البنية العامة obj == other → true or false المعاملات obj الكائن المراد التحقق من تساويه مع الكائن other. other الكائن الآخر الذي سيُتحقَق من تساويه مع الكائن obj. القيم المعادة تُعاد القيمة true إذا كان obj وother هما نفس الكائن، خلاف ذلك تُعاد القيمة false. أمثلة مثالٌ عن استخدام المعامل ==: obj = "a" other = obj.dup obj == other ...

RegExp.prototype.global

الخاصية RegExp.prototype.global تُشير إذا كانت الراية "g" مضبوطةً في التعبير النمطي أم لا. لاحظ أنَّ الخاصية global تختلف من كائن RegExp إلى آخر وهي قابلة للقراءة فقط. سمات الخاصية RegExp.prototype.global قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط نعم الوصف قيمة الخاصية global هي قيمةٌ منطقيةٌ (Boolean)، إذ ستُعيد true إذا كانت الراية "g" مستخدمةً، وإلا فستُعيد false. لا يمكن تعديل قيمة هذه الخاصية مباشرةً. الراية "g" تُشير إلى أنَّ التعبير النمطي يجب أن يُختَبَر على جميع المطابقات المُمكنة في ...

المعامل new في JavaScript

المعامل new يُنشِئ نسخةً من كائن مُعرَّف من المستخدم أو نسخةً من أحد أنواع الكائنات المُضمّنة في لغة JavaScript والتي تملك دالةً بانيةً. البنية العامة new constructor[([arguments])] constructor صنف (class) أو دالة (function) التي تُحدِّد نوع نسخة الكائن (object instance). arguments قائمة بالقيم التي ستُمرَّر إلى الدالة البانية constructor. الوصف إنشاء كائن مُعرَّف من المستخدم يتطلب خطوتين: تعريف نوع الكائن بكتابة دالة، إنشاء نسخة من الكائن عبر المعامل new. لتعريف نوع الكائن، فيجب إنشاء دالة تُحدِّد اسمه وخاصياته، ويمكن أن ...

معامل النشر Spread في JavaScript

معامل النشر (spread operator) يسمح للكائنات التي يمكن المرور على عناصرها -مثل تعابير المصفوفات أو السلاسل النصية (أي أنها iterable)- أن توسَّع في الأماكن التي تتوقع JavaScript وجود صفر وسيط أو أكثر (عند استدعاء الدوال) أو صفر عنصر أو أكثر (في المصفوفات)، أو نشر كائن في الأماكن التي تتوقع JavaScript وجود صفر زوج أو أكثر من المفاتيح والقيم المرتبطة بها (عند تعريف الكائنات). البنية العامة عند استدعاء الدوال: myFunction(...iterableObj); في المصفوفات أو السلاسل النصية: [...iterableObj, '4', 'five', 6]; عند تعريف الكائنات (ميزة ...

معاملات المقارنة في JavaScript

تملك JavaScript نوعين من المقارنة: نوع المقارنة الصارم (strict comparison) مثل المعامل === الذي تكون نتيجة المقارنة معه هي true إذا كانت كلا القيمتان من النوع نفسه ومحتوياتهما متطابقة؛ ونوع المقارنة الذي يحوِّل أنواع البيانات لتتوافق مع بعضها (type–converting comparison) مثل المعامل == الذي يحوِّل القيمتين إلى النوع نفسه قبل إجراء عملية المقارنة؛ أما لعمليات المقارنة النسبية (مثل ‎>=‎) فستحوَّل القيم المُقارَنة إلى قيم أوليّة ثم إلى نوع البيانات نفسه وذلك قبل إجراء عملية المقارنة. تُقارَن السلاسل النصية بناءً على ...

try...catch في JavaScript

التعبير البرمجي try...catch يُستخدَم لتجربة قسم من التعابير البرمجية، ويُحدِّد طريقةً لمعالجة الاستثناءات إن رُمِيَت. البنية العامة try { try_statements } [catch (exception_var_1) { catch_statements_1 }] ... [catch (exception_var_2) { catch_statements_2 }] [finally { finally_statements }] try_statements التعابير البرمجية التي ستُنفَّذ والتي قد ترمي استثناءً. catch_statements_1 و catch_statements_2 التعابير البرمجية التي ستُنفَّذ إذا رُمي استثناءٌ في قسم try. exception_var_1 و exception_var_2 مُعرِّف يُستخدَم لتخزين قيمة كائن الاستثناء (exception object) المرتبط مع قسم catch. finally_statements التعابير البرمجية التي ستُنفَّذ بعد إكمال ...

Symbol.toStringTag

الرمز المعروف Symbol.toStringTag يُشير إلى خاصيةٍ تحمل سلسلةً نصيةً التي تُستخدَم في إنشاء الوصف النصي الافتراضي للكائن، وتستخدمها الدالة Object.prototype.toString()‎ داخليًا. سمات الخاصية Symbol.toStringTag قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا الوصف العديد من أنواع البيانات في لغة JavaScript لها وسوم نصية (tags): Object.prototype.toString.call('foo'); // "[object String]" Object.prototype.toString.call([1, 2]); // "[object Array]" Object.prototype.toString.call(3); // "[object Number]" Object.prototype.toString.call(true); // "[object Boolean]" Object.prototype.toString.call(undefined); // ...

تعبير تعريف الأصناف في JavaScript

تعبير تعريف الأصناف (class expression) هو إحدى الطرائق المستخدمة لتعريف صنف في ECMAScript 2015، وهو شبيه بتعابير تعريف الدوال (function expressions)، ويمكن أن يكون تعبير تعريف الأصناف مسمىً أو غير مسمى، وإذا كان مسمى فسيكون اسم الصنف محليًا لجسم الصنف فقط؛ لاحظ أنَّ الأصناف في JavaScript تستخدم الوراثة عبر سلسلة prototype. البنية العامة var MyClass = class [className] [extends] { // محتويات الصنف }; الوصف يملك تعبير تعريف الأصناف شكلًا شبيهًا بالتصريح عن الأصناف (class declaration) لكن يمكنك حذف اسم ...

yield*‎ في JavaScript

التعبير yield*‎ يُستخدَم لتفويض التنفيذ إلى دالة مولِّدة أخرى أو كائن iterable. البنية العامة yield* [[expression]]; expression التعبير الذي سيُعيد كائن iterable. الوصف سيؤدي التعبير yield*‎ إلى المرور على عناصر الكائن ويعطي كل قيمة أعادها هذا الكائن. قيمة التعبير yield*‎ نفسه هي القيمة المُعادة من الكائن iterable عند إغلاقه (أي عندما تكون قيمة الخاصية done هي true). أمثلة تفويض التنفيذ إلى دالة مولِّدة أخرى لاحظ أنَّ القيمة التي تعطيها (yield) الدالة g1()‎ ستُعاد عند استدعاء الدالة next()‎ مثل القيم ...

debugger في JavaScript

التعبير البرمجي debugger يؤدي إلى تفعيل وظيفة التنقيح (debugging functionality) المتاحة، مثل بداية نقطة المقاطعة (breakpoint)؛ لكن إن لم يكن هنالك منقِّح أو وظيفة تنقيح متاحة فلن يكون لهذا التعبير أي أثر. البنية العامة debugger; أمثلة الشيفرة الآتية فيها التعبير البرمجي debugger الذي يؤدي إلى استدعاء المنقِّح (إن كان موجودًا) عند تنفيذ الدالة function potentiallyBuggyCode() { debugger; // شيفرة غير مستقرة فيها علل يجب تنقيحها } دعم المتصفحات الميزة Chrome Firefox Internet Explorer Opera Safari ...

class في JavaScript

التصريح عن الصنف (class declaration) يؤدي إلى إنشاء صنف جديد له اسمٌ معيّن يستخدم الوراثة عبر سلسلة prototype. يمكنك أيضًا تعريف الأصناف عبر تعابير تعريف الأصناف (class expression)، لكن التصريح عن الصنف بهذه الطريقة يختلف عن استخدام تعابير تعريف الأصناف في أنَّه لا يسمح بإعادة التصريح عن الصنف مرةً أخرى، وسيرمي (throw) خطأً إن حاولنا ذلك. البنية العامة class name [extends] { // محتويات الصنف } الوصف كما في تعابير تعريف الأصناف، ستُنفَّذ التعابر البرمجية الموجودة ضمن الصنف في نمط ...

return في JavaScript

التعبير البرمجي return يؤدي إلى إنهاء تنفيذ الدالة ويُحدِّد قيمةً لتُعيدها الدالة إلى التعبير الذي استدعاها. البنية العامة return [[expression]]; expression التعبير البرمجي الذي ستُعاد قيمته، وإذا لم يُحدَّد فستُعاد القيمة undefined. الوصف عندما يُستخدَم التعبير البرمجي return في جسم الدالة، فسيتوقف تنفيذ الدالة؛ وستُعاد القيمة المعطية (إن وجِدَت) إلى التعبير الذي استدعى الدالة. فعلى سبيل المثال، ستعيد الدالة الآتية مربّع الوسيط x، على أن يكون الوسيط x رقميًا: function square(x) { return x * x; } var demo = ...

switch في JavaScript

التعبير البرمجي switch يُستخدَم لمطابقة قيمة تعبير برمجي باستخدام عبارة case، ثم يُنفِّذ التعابير البرمجية المرتبطة معها. البنية العامة switch (expression) { case value1: // التعابير البرمجية التي ستُطبِّق // عندما تُطابِق قيمةُ التعبير قيمةَ الحالة [break;] case value2: // التعابير البرمجية التي ستُطبِّق // عندما تُطابِق قيمةُ التعبير قيمةَ الحالة [break;] ... case valueN: ...

yield في JavaScript

الكلمة المحجوزة yield تُستخدَم لإيقاف تنفيذ دالة مولِّدة (function*‎) مؤقتًا واستئناف تنفيذها. البنية العامة [rv] = yield [expression]; expression تعريف القيمة التي ستُعاد من الدالة الموِّلدة عبر بروتوكول iterator، وإذا لم تُحدَّد هذه القيمة فستُعاد القيمة undefined. rv إسناد القيمة الاختيارية المُمرَّرة إلى الدالة next()‎ التي تُستخدَم لاستئناف التنفيذ. الوصف الكلمة المحجوزة yield توقف تنفيذ دالة مولِّدة مؤقتًا وستُعاد قيمة التعبير الذي يلي الكلمة المحجوزة yield إلى التعبير البرمجي الذي استدعى الدالة المولِّدة؛ ويمكن عدّ الكلمة المحجوزة yield على أنها ...

throw في JavaScript

التعبير البرمجي throw يؤدي إلى رمي استثناء (exception) يُعرِّفه المستخدم، وسيؤدي ذلك إلى توقف تنفيذ الدالة الحالية (أي أنَّ التعابير البرمجية بعد throw لن تُنفَّذ) وسينتقل التنفيذ إلى أوّل catch، وإذا لم تكن موجودةً فسينتهي تنفيذ البرنامج. البنية العامة throw expression; expression التعبير الذي سيُرمى. الوصف يُستخدَم التعبير throw لرمي استثناء، وعندما ترمي استثناءً فإنَّ قيمة expression تُحدِّد ما هي قيمة الاستثناء. أمثلة: throw 'Error2'; // توليد استثناء له قيمة نصية throw 42; // توليد استثناء ...

if...else في JavaScript

التعبير البرمجي الشرطي (if statement) يُستخدَم لتنفيذ تعبير برمجي معيّن عندما يكون الشرط محققًا، وإذا كان الشرط غير محققٍ فسيُنفِّذ تعبيرًا برمجيًا آخر. البنية العامة if (condition) statement1 [else statement2] condition تعبيرٌ يمكن أن يكون محققًا (true) أو غير محقق (false). statement1 التعبير البرمجي الذي سيُنفَّذ عندما يكون الشرط condition محققًا، ويمكن أن يكون هذا التعبير أيّ تعبيرٍ صالحٍ بما في ذلك تعابير if المتشعبة، ويمكن إنشاء قسم كتلي { ... } لتجميع أكثر من تعبير برمجي ...

break في JavaScript

التعبير البرمجي break يؤدي إلى إنهاء حلقة التكرار الحالية أو التعبير switch أو label، وستنقل تنفيذ البرنامج إلى التعبير البرمجي الذي يلي التعبير الذي انتهى. البنية العامة break [label]; label مُعرِّفٌ اختياريٌ مرتبطٌ بلافتة التعبير البرمجي، وإذا كان التعبير ليس حلقةً تكراريةً أو switch فسيصبح هذا المُعرِّف مطلوبًا وليس اختياريًا. الوصف يتضمن التعبير break إمكانية توفير لافتة اختيارية تسمح للبرنامج بالخروج من التعبير المُسمى؛ ويجب أن يكون التعبير break موجودًا ضمن ذاك التعبير المسمى. أمثلة استخدام break مع حلقة while ...

while في JavaScript

التعبير البرمجي while يُنشِئ حلقة تكرار تُنفِّذ تعبيرًا برمجيًا معيّنًا طالما كان الشرط محققًا (true)، وسيتم التحقق من الشرط قبل تنفيذ التعبير البرمجي. البنية العامة while (condition) statement condition تعبير سيتم التحقق من صحته قبل كل تكرار، وإذا كانت قيمة الشرط condition هي true فسيُنفَّذ التعبير البرمجي statement، وعندما تصبح قيمة الشرط condition مساويةً للقيمة false فسينتقل التحكم إلى التعبير البرمجي الذي يلي حلقة while. statement  التعبير البرمجي الذي سيُنفَّذ طالما كان الشرط محققًا؛ ولتنفيذ أكثر من تعبير برمجي ...

continue في JavaScript

التعبير البرمجي continue يؤدي إلى تجاوز تنفيذ التعابير البرمجية في التكرار الحالي (iteration) في حلقة التكرار الحالية أو حلقة التكرار المسماة (عبر لافتة)، وسيستمر تنفيذ الحلقة بدءًا من التكرار التالي. البنية العامة continue [label]; label مُعرِّفٌ اختياريٌ مرتبطٌ بلافتة التعبير البرمجي. الوصف على النقيض من التعبير break، لن يؤدي التعبير continue إلى إنهاء تنفيذ الحلقة كليًّا، وإنما: في حلقات while سيؤدي إلى الانتقال إلى الشرط. في حلقات for سيؤدي إلى الانتقال إلى تعبير تحديث معاملات حلقة التكرار. يمكن أن يضمّ ...

الدوال السهمية في JavaScript

تعبير الدوال السهمية (arrow function expression) له بنيةٌ عامةٌ مختصرةٌ أكثر من تعبير تعريف الدوال، ولا يملك قيم this أو arguments أو super أو new.target خاصة به؛ والدوال السهمية تناسب الدوال التي لا تكون أعضاءً في كائنٍ ما، وتلك التي لن تُستخدَم كدالة بانية. البنية العامة البنية الأساسية (param1, param2, …, paramN) => { statements } (param1, param2, …, paramN) => expression // ستُقدَّر إلى: (param1, param2, …, paramN) => { return expression; } // الأقواس اختيارية عندما يكون هنالك وسيطٌ وحيدٌ فقط (singleParam) ...

Symbol.prototype.toString()‎

الدالة Symbol.prototype.toString()‎ تعيد سلسلةً نصيّةً تُمثِّل الكائن Symbol. البنية العامة Symbol().toString(); القيمة المعادة سلسلة نصية تمثل الكائن Symbol. الوصف يُعيد الكائن Symbol تعريف الدالة toString الموجود في الكائن Object، فهو لا يرث الدالة Object.prototype.toString()‎؛ وستُعيد الدالة toString تمثيلًا نصيًا للرمز. لا يسمح بإضافة الرموز إلى سلاسل نصية صحيحٌ أنَّ بإمكاننا استدعاء الدالة toString على الرموز، لكن لا يُسمَح بإضافة سلسلة نصية إلى رمز، وسيرمى الخطأ TypeError كما في المثال الآتي: Symbol('foo') + 'bar'; // TypeError: Can't convert symbol to string ...

التابع ‎‎jQuery.ajaxTransport()‎‎ في jQuery

jQuery.ajaxTransport( dataType, handler )‎ القيم المعادة يعيد قيمةً من النوع undefined. الوصف ينشئ هذا التابع كائنًا يعالج عملية الإرسال الفعلي لبيانات Ajax. jQuery.ajaxTransport( dataType, handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية تحدِّد نوع البيانات المراد استعمال هذا التابع معها. handler دالةٌ من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ تعيد الكائن transport الجديد لاستعماله مع نوع البيانات المحدَّد في الوسيط الأول. الكائن transport هو كائنٌ يوفر تابعين اثنين هما: التابع send، والتابع abort اللذان تستعملهما الدالة ...

التابع ‎‎jQuery.ajaxTransport()‎‎ في jQuery

jQuery.ajaxTransport( dataType, handler )‎ القيم المعادة يعيد قيمةً من النوع undefined. الوصف ينشئ هذا التابع كائنًا يعالج عملية الإرسال الفعلي لبيانات Ajax. jQuery.ajaxTransport( dataType, handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية تحدِّد نوع البيانات المراد استعمال هذا التابع معها. handler دالةٌ من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ تعيد الكائن transport الجديد لاستعماله مع نوع البيانات المحدَّد في الوسيط الأول. الكائن transport هو كائنٌ يوفر تابعين اثنين هما: التابع send، والتابع abort اللذان تستعملهما الدالة ...

التحقق من الأنواع في ملفات JavaScript في TypeScript

مقدمة أصبحت TypeScript منذ النسخة 2.3 تدعم التحقق من الأنواع والإبلاغ عن الأخطاء في ملفّات ‎.js‎ مع خيار المترجم ‎--checkJs‎. يمكنك تخطي التحقق من ملفّاتٍ معيّنة عبر إضافة التعليق ‎// @ts-nocheck‎ إليها؛ وفي المقابل يمكنك اختيار ملفّات ‎.js‎ التي تريد التحقق منها عبر إضافة التعليق ‎// @ts-check‎ إليها دون استخدام الخيار ‎‎--checkJs‎‎. يمكنك كذلك تجاهل الأخطاء على أسطرٍ محدَّدة عبر إضافة التعليق ‎// @ts-ignore‎ على نفس السطر. لاحظ أنّه عند ضبط ملفّ ‎tsconfig.json‎، فالتحقق من ملفات JavaScript سيحترم الخيارات الصارمة ...

Object.prototype.toString()‎

الدالة Object.prototype.toString()‎ تُعيد سلسلةً نصيةً تُمثِّل الكائن. البنية العامة obj.toString() القيمة المعادة سلسلة نصيّة تُمثِّل الكائن. الوصف يملك كل كائن الدالة toString()‎ التي ستستدعى تلقائيًا عندما يراد تمثيل الكائن كقيمة نصية أو عند الإشارة إلى الكائن في مكانٍ تتوقع JavaScript توفير سلسلة نصية فيه؛ وافتراضيًا توجد الدالة toString()‎ في جميع الكائنات التي تنحدر من الكائن Object؛ وإذا لم يُعاد تعريف هذه الدالة في الكائن المُخصَّص فستُعيد القيمة "[object type]"، إذ إنَّ type هو نوع الكائن، والشيفرة الآتية توضِّح ذلك: var ...

التابع ‎‎jQuery.noConflict()‎‎ في jQuery

jQuery.noConflict( [removeAll ] )‎ القيم المعادة يعيد كائنًا من النوع Object. الوصف يجبر هذا التابع jQuery على التنازل عن التحكم بالمتغيِّر $. jQuery.noConflict( [removeAll ] )‎ أُضيف مع الإصدار: 1.0. removeAll قيمةٌ منطقيَّةٌ تحدِّد إن كان يراد إزالة جميع متغيرات jQuery من النطاق العام (global scope) بما فيها jQuery نفسها. تستعمل أغلب مكتبات JavaScript المعامل $ بوصفه دالةً أو اسم متغيِّر مثلما تفعل jQuery تمامًا. ففي حالة مكتبة jQuery، يُعدُّ $ اسمًا بديلًا للعبارة jQuery، لذا تكون جميع الوظائف متاحة ...

التابع ‎‎jQuery.noConflict()‎‎ في jQuery

jQuery.noConflict( [removeAll ] )‎ القيم المعادة يعيد كائنًا من النوع Object. الوصف يجبر هذا التابع jQuery على التنازل عن التحكم بالمتغيِّر $. jQuery.noConflict( [removeAll ] )‎ أُضيف مع الإصدار: 1.0. removeAll قيمةٌ منطقيَّةٌ تحدِّد إن كان يراد إزالة جميع متغيرات jQuery من النطاق العام (global scope) بما فيها jQuery نفسها. تستعمل أغلب مكتبات JavaScript المعامل $ بوصفه دالةً أو اسم متغيِّر مثلما تفعل jQuery تمامًا. ففي حالة مكتبة jQuery، يُعدُّ $ اسمًا بديلًا للعبارة jQuery، لذا تكون جميع الوظائف متاحة ...

نظرة عامة على وحدة العرض في ريلز

بعد قراءة هذا الدليل، ستعرف: ما هو Action View وكيفية استخدامه مع ريلز. أفضل طريقة لاستخدام القوالب والجزئيات (partials) والتخطيطات. ما الذي يقدمه المساعدون عن طريق Action View. كيفية استخدام العروض المحلية. ما هو Action View؟ في ريلز، تُعَالَج طلبات الويب من خلال Action Controller و Action View. عادةً ما يقع على عاتق وحدة التحكم التواصل مع قاعدة البيانات وتنفيذ الإجراءات CRUD عند الضرورة؛ بعد ذلك، يكون Action View مسؤولًا عن تفسير (compiling) الاستجابة. تُكتَب قوالب Action View باستخدام روبي ...

المعاملات الافتراضية للدوال في JavaScript

معاملات الدالة الافتراضية (default function parameters) تسمح بتهيئة معاملات الدالة مع قيم افتراضية إن لم تُمرَّر لها قيمة أثناء استدعاء الدالة أو كانت القيمة المُمرَّرة هي undefined. البنية العامة function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) { statements } الوصف تكون قيمة المعاملات الافتراضية في JavaScript هي undefined، لكن في بعض الحالات يكون من المفيد ضبط قيمة تلك المعاملات إلى قيمةٍ أخرى، وهنا تلعب المعاملات الافتراضية دورها. في الماضي كانت الاستراتيجية العامة المتبعة لضبط قيم افتراضية ...

Infinity

الخاصية العامة Infinity هي قيمةٌ عدديةٌ تمثِّل اللانهاية. سمات الخاصية Infinity قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا البنية العامة Infinity الوصف الخاصية Infinity هي خاصيةٌ للكائن العام (global object) أي أنها متغيرٌ في المجال العام. القيمة الابتدائية للخاصية Infinity هي Number.POSITIVE_INFINITY، وقيمة الخاصية Infinity (اللانهاية الموجبة) أكبر من أيّ رقم آخر، وهذه القيمة تسلك سلوك قيمة اللانهاية في الرياضيات، فمثلًا نتيجة ضرب أيّ عدد بالقيمة Infinity هي Infinity، وناتج قسمة أي عدد على Infinity هو 0. أمثلة ...

Function.name

الخاصية Function.name تُعيد اسم الدالة. سمات الخاصية Function.name قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط نعم لاحظ أنَّ المتصفحات التي كانت تدعم هذه الخاصية قبل أن تصبح معياريةً (في ECMAScript 2015) كانت تضبط السمة configurable إلى false (أي أنَّ هذه الخاصية غير قابلة للضبط). أمثلة اسم دالة مُصرَّح عنها الخاصية name تُعيد اسم الدالة المستخدم في تعبير التصريح عن الدوال: function doSomething() {} doSomething.name; // "doSomething" اسم دالة مُعرَّفة عبر الدالة البانية Function الدوال المُنشَأة عبر البنية new Function(...)‎ أو ...

استخدام لغة Kotlin في نطاق JavaScript

تتيح لغة Kotlin إمكانيّة استهداف لغة JavaScript من خلال تحويل (transpiling) شيفرات Kotlin إلى ما يماثلها في JavaScript ؛ إذ تستهدف بالوقت الحاليّ معيارECMAScript 5.1، ومن المُخطَّط له أيضًا التوافق مع معيار ECMAScript 2015 لاحقًا. عند استخدام لغة Kotlin بهدف كتابة شيفرات JavaScript فستُحوَّل الشيفرات المكتوبة بلغة Kotlin (بعدِّها جزءًا من المشروع والمكتبة القياسيّة في Kotlin) إلى شيفرة JavaScript، ولكنّ هذا لا يشمل أيًّا ممّا يتعلَّق ببيئة JDK أو JVM أو Java أو أيّ من منصّاتها أو مكتباتها المُستخدَمة، ويُستبعَد ...

Symbol.for(key)‎

الدالة Symbol.for(key)‎ تبحث عن رمزٍ موجودٍ مسبقًا في سجل الرموز العام الذي له مفتاحٌ معيّن وستُعيده عند وجوده؛ وإن لم يكن موجودًا فسيُنشَأ رمزٌ جديدٌ في سجل الرموز العام له هذا المفتاح. البنية العامة Symbol.for(key); key سلسلة نصيّة تُمثِّل مفتاح الرمز الذي سنبحث عنه (وستُستخدَم أيضًا لوصف الرمز). القيمة المعادة الرمز المرتبط بالمفتاح إن كان موجودًا؛ وإلا فسيُنشَأ ويُعاد رمزٌ جديد. الوصف بخلاف الدالة Symbol()‎، تُنشِئ الدالة Symbol.for()‎ رمزًا في سجل الرموز العام (global symbol registry)؛ ليس من الضروري أن ...

Number.prototype.valueOf()‎

الدالة Number.prototype.valueOf()‎ تُعيد القيمة الأوليّة (primitive value) لأحد كائنات Number. البنية العامة numObj.valueOf() القيمة المعادة عدد يُمثِّل القيمة الأوليّة لكائن Number المُحدَّد. الوصف تستدعي JavaScript الدالة valueOf لتحويل كائن Number إلى قيمة أوليّة، ومن النادر أن تحتاج إلى استدعاء الدالة valueOf يدويًا، إذ تستدعيها JavaScript تلقائيًا عند الحاجة. أمثلة var numObj = new Number(10); console.log(typeof numObj); // object var num = numObj.valueOf(); console.log(num); // 10 console.log(typeof num); // number دعم المتصفحات الميزة Chrome Firefox Internet ...

Object.prototype

الخاصية Object.prototype تُمثِّل القيمة الكائن prototype التابعة للكائن Object. سمات الخاصية Object.prototype قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا الوصف جميع الكائنات في JavaScript تقريبًا تنحدر من الكائن Object، والكائنات الاعتيادية ترث الخاصيات (بما في ذلك الدوال) من الكائن Object.prototype، على الرغم أنَّه يمكن إعادة الكتابة فوق تلك الخاصيات. قد تُنشَأ كائنات من النوع Object لا ينطبق فيها ما سبق (مثلًا عبر استخدام الدالة Object.create(null)‎) أو يمكن تعديل كائن prototype مما لا يجعل ما سبق صحيحًا (مثلًا عبر ...

الخاصية ‎‎‎.jquery‎ في jQuery

الخاصية ‎.jquery القيم المعادة تعيد سلسلة نصية من النوع String. الوصف يُسند إلى هذه الخاصِّية سلسلة نصية تحتوي على رقم إصدار jQuery. jquery أُضيف مع الإصدار: 1.0. الخاصِّيَّة ‎.jquery هي سلسلة نصية تحتوي على رقم إصدار jQuery مثل "1.5.0" أو "1.4.4"، وتُسند إلى نموذج jQuery الأولي، ويشار إليها عادةً عبر الاسم البديل ‎$.fn. أمثلة تحديد إن كان كائنٌ ما هو كائن jQuery: $(function() { // أصبحت الصفحة جاهزة }); استعمال اختصار للشكل ‎$(document).ready()‎ ووسيط لكتابة شيفرة الفشل الآمن (failsafe) في jQuery ...

Function.prototype.call()‎

الدالة Function.prototype.call()‎ تستدعي دالةً وتضبط قيمة this فيها إلى القيمة المعطية، وستُوفَّر الوسائط التي ستُمرَّر إليها كقائمة. ملاحظة: صحيحٌ أنَّ البنية العامة لهذه الدالة تكاد تماثل بينة الدالة apply()‎، لكن الفرق الرئيسي بينهما هو أنَّ الدالة apply()‎ تقبل مصفوفةً واحدةً تحتوي على الوسائط، بينما call()‎ تقبل قائمةً بالوسائط التي تُمرَّر إلى الدالة. البنية العامة function.call([thisArg, arg1, arg2, ...]) thisArg وسيطٌ اختياري، وهو يُمثِّل قيمة المعامل this التي ستُستعمل في الدالة function، لاحظ أنَّ قيمة this المُمرَّرة لا تعني بالضرورة أنَّها ...

NaN

الخاصية العامة NaN هي قيمةٌ لا تُمثِّل عددًا (وهي اختصارٌ للعبارة Not-A-Number). سمات الخاصية NaN قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا البنية العامة NaN الوصف الخاصية NaN هي خاصيةٌ للكائن العام (global object) أي أنها متغيرٌ في المجال العام. القيمة الابتدائية للخاصية NaN هي Number.NaN، والخاصية NaN غير قابلة للضبط وغير قابلة للكتابة في المتصفحات الحديثة، لكن مع ذلك حاول تجنّب الكتابة عليها. من النادر استخدام القيمة NaN في البرامج، لكنها القيمة التي ستُعاد عندما تفشل دوال ...

الدالة Promise.prototype.finally()‎ في JavaScript

الدالة finally()‎ تعيد وعدًا Pormise، وعندما تُقرَّر قيمة الوعد، سواءً كان مقبولًا أو مرفوضًا، فستُنفَّذ دالة رد النداء (callback) المُحدَّدة. وهذا ما يوفِّر طريقة لتنفيذ شيفرة ما بعد التعامل مع كائن Pormise سواءً كان الوعد مقبولًا أو مرفوضًا. تسمح هذه الدالة لنا بتفادي تكرار الشيفرات في دوال then()‎ و catch()‎. البنية العامة p.finally(onFinally); p.finally(function() { // قُرِّرَت قيمة الوعد، سواءً كان مقبولًا أم مرفوضًا }); المعاملات onFinally الدالة التي ستُستدعى عند تقرير قيمة الوعد. القيمة المعادة كائن Pormise الذي تكون ...

اللافتات label في JavaScript

التعبير البرمجي label يمكن أن يُستخدَم مع التعبير البرمجي break أو continue، وهو يوضع قبل التعابير البرمجية لإضافة لافتة (مُعرِّف) لها يمكن الإشارة إليها. لاحظ أنَّ من غير الشائع استخدام حلقات تكرار مع لافتات (labels)، وتُستخدَم عادةً الدوال بدلًا القيام بقفزات بين حلقات التكرار. البنية العامة label : statement label لافتة للتعبير البرمجي، ويمكن أن تكون أيّ مُعرِّف في JavaScript صالح (وليس كلمةً محجوزةً). statement التعابير البرمجية التي ستُضاف اللافتة إليها، ويمكن استخدام التعبير البرمجي break مع أيّ ...

المعامل الشرطي في JavaScript

المعامل الشرطي (conditional operator) هو المعامل الوحيد في JavaScript الذي يأخذ ثلاثة قيمة ليجري عليها عمليته، ومن الشائع استخدام هذا المعامل كاختصارٍ للتعبير البرمجي if. البنية العامة condition ? expr1 : expr2 condition تعبير برمجي نتيجته هي true أو false. expr1 و expr2 تعبيرين برمجيين من أيّ نوع. الوصف إذا كان الشرط condition محققًا true فسيُعيد المعامل قيمة التعبير expr1، وفيما عدا ذلك سيُعيد قيمة التعبير expr2؛ فمثلًا لو أردنَا عرض رسالة مختلفة اعتمادًا على قيمة المتغير isMember فسنستخدم التعبير ...

دالة getter في JavaScript

البنية get تؤدي إلى ربط خاصية من خاصيات الكائن بدالة التي ستستدعى عند محاولة الوصول إلى قيمة تلك الخاصية. البنية العامة {get prop() { ... } } {get [expression]() { ... } } prop اسم الخاصية الذي سترتبط بالدالة المعطية. expression بدءًا من ECMAScript 2015 (أي ES6)، يمكن استخدام التعابير لإنشاء أسماء محسوبة للخاصيات التي سترتبط بالدالة المعطية. الوصف يمكن أن تستخدم دالة getter في JavaScript لتنفيذ دالة معيّنة عندما تتم محاولة الوصول إلى خاصية من خاصيات الكائن بغية إعادة قيمة ...

المعاملات الثنائية في JavaScript

المعاملات الثنائية (bitwise operators) تُعامِل القيم كأنها سلسلة تتألف من 32 بت (أصفار وواحدات) بدلًا من الأرقام Number في النظام العشري (decimal) أو الست عشري (hexadecimal) أو الثماني (octal)؛ فمثلًا يُمثَّل العدد 9 في نظام العد الثنائي بالمحارف 1001؛ وتجري معاملات البتات في JavaScript العمليات على التمثيل الثنائي للأعداد، لكنها تعيد قيمًا عدديةً عاديةً قياسيةً في JavaScript. الجدول الآتي يُلخِّص معاملات البتات في JavaScript: المعامل الاستخدام الوصف AND a & b يُعيد 1 مكان كل بت له القيمة 1 في ...

الإسناد بالتفكيك في JavaScript

الإسناد بالتفكيك (destructuring assignment) يسمح باستخراج القيم الموجودة في المصفوفات أو خاصيات أحد الكائنات إلى متغيرات مستقلة. البنية العامة var a, b, rest; [a, b] = [10, 20]; console.log(a); // 10 console.log(b); // 20 [a, b, ...rest] = [10, 20, 30, 40, 50]; console.log(a); // 10 console.log(b); // 20 console.log(rest); // [30, 40, 50] ({ a, b } = { a: 10, b: 20 }); console.log(a); // 10 console.log(b); // 20 // Stage 3 proposal ({a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40}); console.log(a); // 10 console.log(b); // 20 console.log(rest); //{c: ...

الدالة Promise.prototype.then()‎ في JavaScript

الدالة then()‎ تعيد وعدًا Promise، وتأخذ وسيطين على الأكثر، وهما دالتا رد النداء (callback) لنجاح أو فشل الوعد. var promise1 = new Promise(function(resolve, reject) { resolve('Success!'); }); promise1.then(function(value) { console.log(value); // "Success!" }); ملاحظة: إذا كان أحد أو كلا المعاملين غير موجود، أو كان موجودًا لكنه ليس دالةً، فلن تضع الدالة then()‎ معالجًا له، لكنها لن تولِّد أي أخطاء. إذا أصبحت هنالك حالة للوعد Promise الذي استدعيت الدالة ()then عليه، ولم يكن للدالة ()then وسائط مناسبة، فسيُنشَأ وعدٌ Promise جديد دون ...

الدالة Promise.prototype.catch()‎ في JavaScript

الدالة catch()‎ تعيد وعدًا Promise وتتعامل مع حالات رفض الوعود فقط. وهي تسلك نفس سلوك استدعاء الدالة Promise.prototype.then(undefined, onRejected)‎. وفي الواقع، استدعاء الدالة obj.catch(onRejected)‎ سيستدعي الدالة obj.then(undefined, onRejected)‎ داخليًا. var promise1 = new Promise(function(resolve, reject) { throw 'Uh-oh!'; }); promise1.catch(function(error) { console.log(error); }); // Uh-oh! البنية العامة p.catch(onRejected); p.catch(function(reason) { // التعامل مع الرفض }); المعاملات onRejected دالة تستدعى عند رفض الوعد Promise. هذه الدالة تملك معاملًا وحيدًا: reason سبب الرفض. الوعد المُعاد من الدالة catch()‎ سيُرفَض إذا رمت الدالة onRejected أو ...

المعاملات المنطقية في JavaScript

المعاملات المنطقية (logical operators) تُستخدَم عادةً مع القيم المنطقية Boolean، وستُعيد هذه المعاملات حينئذٍ قيمةً منطقيةً أيضًا؛ لكن المعاملين && و || سيُعيدان إحدى القيمتين اللتين تجريان عملياتهما عليها، لذا إذا لم تكن تلك القيمة منطقيةً (Boolean) فقد لا تُعاد قيمةٌ منطقيةٌ. الوصف المعاملات المنطقية موضَّحة في الجدول الآتي: المعامل الاستخدام الوصف AND (&&) expr1 && expr2 يُعيد expr1 إذا كان بالإمكان تحويله إلى false، وإلا فسيعيد expr2، وبالتالي عند استخدامه مع القيم المنطقية فسيعيد المعامل && القيمة true إذا ...

بناء Javascript و CSS

مقدمة لا يفرض Laravel عليك استخدام أي معالج JavaScript و CSS، إلّا إنّه يوفّر نقطة انطلاق بسيطة باستخدام Bootstrap و Vue ممّا سيساعد العديد من التطبيقات. بصفة عامّة، يستخدم Laravel أوامر npm لتنصيب حزم الواجهات الأمامية هذه. CSS يوفّر Laravel Mix واجهة برمجية (API) سهلة ومعبّرة لترجمة Sass أو Less، وهي إضافات للغة CSS الأساسية التي تضيف المتغيّرات والمخاليط (mixins) والعديد من الخصائص الأخرى التي تجعل العمل بلغة CSS أكثر متعة. في هذه الصفحة، سنناقش باختصار ترجمة CSS بصفة عامّة ...

عرض (250 السابقة | 250 التالية) (20 | 50 | 100 | 250 | 500).