الفرق بين المراجعتين لصفحة: «JavaScript/Topics/Statements»
لا ملخص تعديل |
اختصار بعض التكرارات |
||
سطر 4: | سطر 4: | ||
==== <code>[[JavaScript/block|block]]</code> ==== | ==== <code>[[JavaScript/block|block]]</code> ==== | ||
الأقسام الكتلية | تُستخدَم الأقسام الكتلية لتجميع عدِّة تعابير برمجية معًا، ويُعرَّف القسم بزوجين من الأقواس المعقوفة <code>{}</code>. | ||
==== <code>[[JavaScript/break|break]]</code> ==== | ==== <code>[[JavaScript/break|break]]</code> ==== | ||
يإنهاء حلقة التكرار الحالية أو التعبير <code>[[JavaScript/switch|switch]]</code> أو <code>[[JavaScript/label|label]]</code>، وستنقل تنفيذ البرنامج إلى التعبير البرمجي الذي يلي التعبير الذي انتهى. | |||
==== <code>[[JavaScript/continue|continue]]</code> ==== | ==== <code>[[JavaScript/continue|continue]]</code> ==== | ||
تجاوز تنفيذ التعابير البرمجية في التكرار الحالي (iteration) في حلقة التكرار الحالية أو حلقة التكرار المسماة (عبر لافتة)، وسيستمر تنفيذ الحلقة بدءًا من التكرار التالي. | |||
==== <code>[[JavaScript/empty|Empty]]</code> ==== | ==== <code>[[JavaScript/empty|Empty]]</code> ==== | ||
يُستخدَم لتجنب توفير تعبير برمجي في المواضع التي تتطلب فيها JavaScript تعبيرًا برمجيًا واحدًا على الأقل. | |||
==== <code>[[JavaScript/if...else|if...else]]</code> ==== | ==== <code>[[JavaScript/if...else|if...else]]</code> ==== | ||
التعبير البرمجي الشرطي | التعبير البرمجي الشرطي يُستخدَم لتنفيذ تعبير برمجي معيّن عندما يكون الشرط محققًا، وإذا كان الشرط غير محققٍ فسيُنفِّذ تعبيرًا برمجيًا آخر. | ||
==== <code>[[JavaScript/switch|switch]]</code> ==== | ==== <code>[[JavaScript/switch|switch]]</code> ==== | ||
يُستخدَم لمطابقة قيمة تعبير برمجي باستخدام عبارة<code>case</code>، ثم يُنفِّذ التعابير البرمجية المرتبطة معها. | |||
==== <code>[[JavaScript/throw|throw]]</code> ==== | ==== <code>[[JavaScript/throw|throw]]</code> ==== | ||
يؤدي إلى رمي استثناء (exception) يُعرِّفه المستخدم. | |||
==== <code>[[JavaScript/try...catch|try...catch]]</code> ==== | ==== <code>[[JavaScript/try...catch|try...catch]]</code> ==== | ||
يُستخدَم لتجربة قسم من التعابير البرمجية، ويُحدِّد طريقةً لمعالجة الاستثناءات إن رُمِيَت. | |||
=== تعابير التصريح عن متغيرات === | === تعابير التصريح عن متغيرات === | ||
سطر 33: | سطر 33: | ||
==== <code>[[JavaScript/let|let]]</code> ==== | ==== <code>[[JavaScript/let|let]]</code> ==== | ||
يُصرِّح عن متغير محلي <nowiki/>[[JavaScript/block|للقسم الكتلي]]، ويمكن تهيئة قيمته الابتدائية اختياريًا. | |||
==== <code>[[JavaScript/const|const]]</code> ==== | ==== <code>[[JavaScript/const|const]]</code> ==== | ||
سطر 50: | سطر 50: | ||
==== <code>[[JavaScript/return|return]]</code> ==== | ==== <code>[[JavaScript/return|return]]</code> ==== | ||
يؤدي إلى إنهاء تنفيذ الدالة ويُحدِّد قيمةً لتُعيدها الدالة إلى التعبير الذي استدعاها. | |||
==== <code>[[JavaScript/class|class]]</code> (التصريح عن صنف) ==== | ==== <code>[[JavaScript/class|class]]</code> (التصريح عن صنف) ==== | ||
سطر 58: | سطر 58: | ||
==== <code>[[JavaScript/do...while|do...while]]</code> ==== | ==== <code>[[JavaScript/do...while|do...while]]</code> ==== | ||
يُنشِئ حلقة تكرار تُنفِّذ تعبيرًا برمجيًا معيّنًا إلى أن يصبح الشرط غير محقق (false)، وسيتم التحقق من الشرط بعد تنفيذ التعبير البرمجي، مما يؤدي إلى تنفيذ التعبير البرمجي المُعيّن مرةً واحدةً على الأقل. | |||
==== <code>[[JavaScript/for|for]]</code> ==== | ==== <code>[[JavaScript/for|for]]</code> ==== | ||
يُنشِئ حلقة تكرار تتألف من ثلاثة تعبيرات برمجية اختيارية تحيط بها أقواس وتفصل بينها فواصل منقوطة، ويليها تعبيرٌ برمجيٌ (وعادةً يكون <nowiki/>[[JavaScript/block|قسمًا كتليًا]] [block statement]) سيُنفَّذ في كل تكرار للحلقة. | |||
==== <code>[[JavaScript/for...in|for...in]]</code> ==== | ==== <code>[[JavaScript/for...in|for...in]]</code> ==== | ||
يُنشِئ حلقة تكرار تمر على الخاصيات القابلة للإحصاء (<code>enumerable properties</code>) التابعة لأحد الكائنات. | |||
==== <code>[[JavaScript/for...of|for...of]]</code> ==== | ==== <code>[[JavaScript/for...of|for...of]]</code> ==== | ||
يمر على الكائنات التي يمكن الدوران على عناصرها (iterable objects) بما في ذلك الكائن <code>[[JavaScript/Array|Array]]</code> و <code>Map</code> و <code>Set</code> و<code>[[JavaScript/String|String]]</code> و <code>TypedArray</code> و <code>Arguments</code>، وتنفيذ تعابير برمجية معيّنة على قيمة كل خاصية من خاصيات تلك الكائنات. | |||
==== <code>[[JavaScript/while|while]]</code> ==== | ==== <code>[[JavaScript/while|while]]</code> ==== | ||
يُنشِئ حلقة تكرار تُنفِّذ تعبيرًا برمجيًا معيّنًا طالما كان الشرط محققًا (true)، وسيتم التحقق من الشرط قبل تنفيذ التعبير البرمجي. | |||
=== غير ذلك === | === غير ذلك === | ||
==== <code>[[JavaScript/debugger|debugger]]</code> ==== | ==== <code>[[JavaScript/debugger|debugger]]</code> ==== | ||
يؤدي إلى تفعيل وظيفة التنقيح (debugging functionality) المتاحة، مثل بداية نقطة المقاطعة (breakpoint)؛ لكن إن لم يكن هنالك منقِّح أو وظيفة تنقيح متاحة فلن يكون لهذا التعبير أي أثر. | |||
==== <code>[[JavaScript/export|export]]</code> ==== | ==== <code>[[JavaScript/export|export]]</code> ==== | ||
يمكن أن يُستخدَم عند إنشاء وحدات JavaScript (أي JavaScript modules) لتصدير الدوال أو الكائنات أو القيم الأوليّة (primitive values) من وحدة (module) لكي يمكن استخدامها من برنامج آخر باستخدام التعبير البرمجي <code>[[JavaScript/import|import]]</code>. | |||
==== <code>[[JavaScript/import|import]]</code> ==== | ==== <code>[[JavaScript/import|import]]</code> ==== | ||
يُستخدَم لاستيراد ما صُدِّر من وحدة (module) أخرى. | |||
==== <code>[[JavaScript/label|label]]</code> ==== | ==== <code>[[JavaScript/label|label]]</code> ==== | ||
يمكن أن يُستخدَم مع التعبير البرمجي <code>[[JavaScript/break|break]]</code> أو<code>[[JavaScript/continue|continue]]</code>، وهو يوضع قبل التعابير البرمجية لإضافة لافتة (مُعرِّف) لها يمكن الإشارة إليها. |
المراجعة الحالية بتاريخ 16:03، 31 يناير 2018
في هذا القسم جميع التعابير البرمجية الموجودة في لغة JavaScript.
التحكم في التنفيذ
block
تُستخدَم الأقسام الكتلية لتجميع عدِّة تعابير برمجية معًا، ويُعرَّف القسم بزوجين من الأقواس المعقوفة {}
.
break
يإنهاء حلقة التكرار الحالية أو التعبير switch
أو label
، وستنقل تنفيذ البرنامج إلى التعبير البرمجي الذي يلي التعبير الذي انتهى.
continue
تجاوز تنفيذ التعابير البرمجية في التكرار الحالي (iteration) في حلقة التكرار الحالية أو حلقة التكرار المسماة (عبر لافتة)، وسيستمر تنفيذ الحلقة بدءًا من التكرار التالي.
Empty
يُستخدَم لتجنب توفير تعبير برمجي في المواضع التي تتطلب فيها JavaScript تعبيرًا برمجيًا واحدًا على الأقل.
if...else
التعبير البرمجي الشرطي يُستخدَم لتنفيذ تعبير برمجي معيّن عندما يكون الشرط محققًا، وإذا كان الشرط غير محققٍ فسيُنفِّذ تعبيرًا برمجيًا آخر.
switch
يُستخدَم لمطابقة قيمة تعبير برمجي باستخدام عبارةcase
، ثم يُنفِّذ التعابير البرمجية المرتبطة معها.
throw
يؤدي إلى رمي استثناء (exception) يُعرِّفه المستخدم.
try...catch
يُستخدَم لتجربة قسم من التعابير البرمجية، ويُحدِّد طريقةً لمعالجة الاستثناءات إن رُمِيَت.
تعابير التصريح عن متغيرات
var
تعبير variable
يُصرِّح عن متغير، ويمكن تهيئة قيمته الابتدائية اختياريًا.
let
يُصرِّح عن متغير محلي للقسم الكتلي، ويمكن تهيئة قيمته الابتدائية اختياريًا.
const
التصريح عن ثابت للقراءة فقط.
الدوال والأصناف
function
(التصريح عن دالة)
التصريح عن الدالة (function declaration) يُعرِّف دالةً لها معاملات (parameters) معيّنة. انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.
function*
(التصريح عن دالة مولدة)
التصريح عن الدالة المولدة. انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.
async function
(التصريح عن دالة غير متزامنة)
التصريح عن دالة غير متزامنة. انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.
return
يؤدي إلى إنهاء تنفيذ الدالة ويُحدِّد قيمةً لتُعيدها الدالة إلى التعبير الذي استدعاها.
class
(التصريح عن صنف)
التصريح عن الصنف (class declaration) يؤدي إلى إنشاء صنف جديد له اسمٌ معيّن يستخدم الوراثة عبر سلسلة prototype.
حلقات التكرار
do...while
يُنشِئ حلقة تكرار تُنفِّذ تعبيرًا برمجيًا معيّنًا إلى أن يصبح الشرط غير محقق (false)، وسيتم التحقق من الشرط بعد تنفيذ التعبير البرمجي، مما يؤدي إلى تنفيذ التعبير البرمجي المُعيّن مرةً واحدةً على الأقل.
for
يُنشِئ حلقة تكرار تتألف من ثلاثة تعبيرات برمجية اختيارية تحيط بها أقواس وتفصل بينها فواصل منقوطة، ويليها تعبيرٌ برمجيٌ (وعادةً يكون قسمًا كتليًا [block statement]) سيُنفَّذ في كل تكرار للحلقة.
for...in
يُنشِئ حلقة تكرار تمر على الخاصيات القابلة للإحصاء (enumerable properties
) التابعة لأحد الكائنات.
for...of
يمر على الكائنات التي يمكن الدوران على عناصرها (iterable objects) بما في ذلك الكائن Array
و Map
و Set
وString
و TypedArray
و Arguments
، وتنفيذ تعابير برمجية معيّنة على قيمة كل خاصية من خاصيات تلك الكائنات.
while
يُنشِئ حلقة تكرار تُنفِّذ تعبيرًا برمجيًا معيّنًا طالما كان الشرط محققًا (true)، وسيتم التحقق من الشرط قبل تنفيذ التعبير البرمجي.
غير ذلك
debugger
يؤدي إلى تفعيل وظيفة التنقيح (debugging functionality) المتاحة، مثل بداية نقطة المقاطعة (breakpoint)؛ لكن إن لم يكن هنالك منقِّح أو وظيفة تنقيح متاحة فلن يكون لهذا التعبير أي أثر.
export
يمكن أن يُستخدَم عند إنشاء وحدات JavaScript (أي JavaScript modules) لتصدير الدوال أو الكائنات أو القيم الأوليّة (primitive values) من وحدة (module) لكي يمكن استخدامها من برنامج آخر باستخدام التعبير البرمجي import
.
import
يُستخدَم لاستيراد ما صُدِّر من وحدة (module) أخرى.
label
يمكن أن يُستخدَم مع التعبير البرمجي break
أوcontinue
، وهو يوضع قبل التعابير البرمجية لإضافة لافتة (مُعرِّف) لها يمكن الإشارة إليها.