If you do not find what you're looking for, you can use more accurate words.
هذا القسم فيه ما يتعلق بالتعابير والمعاملات في JavaScript.
وهي تتضمن التعابير والكلمات المحجوزة العامة في JavaScript.
this تُحدَّد قيمة الكلمة المحجوزة this وفق طريقة استدعاء الدالة.
function (تعبير تعريف الدوال) الكلمة المحجوزة function تُستخدَم لتعريف دالة داخل تعبير (expression). انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.
class (تعبير تعريف الأصناف) الكلمة المحجوزة class تشير إلى تعبير تعريف للأصناف.
function* (تعبير تعريف الدوال المولدة) الكلمة المحجوزة function* تُستخدَم لتعريف دالة مولِّدة داخل تعبير. انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.
yield الكلمة المحجوزة yield تُستخدَم لإيقاف تنفيذ دالة مولِّدة (function*) مؤقتًا واستئناف تنفيذها.
yield* التعبير yield* يُستخدَم لتفويض التنفيذ إلى دالة مولِّدة أخرى أو كائن iterable.
async function* (تعبير تعريف الدوال غير المتزامنة) الكلمة المحجوزة async function تُستخدَم لتعريف دوال غير متزامنة ضمن تعبير (expression). انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.
await يُستخدَم لانتظار وعد (الكائن Promise)، ويمكن أن يُستخدَم داخل دالة غير متزامنة فقط (async function).
[] الشكل المختصر لتعريف المصفوفات.
{} الشكل المختصر لتهيئة الكائنات.
/ab+c/i الشكل المختصر لتعريف التعابير النمطية (regular expressions).
( ) معامل التجميع.
طرائق الوصول إلى الخاصيات توفِّر وصولًا إلى خاصيات أحد الكائنات باستخدام طريقة النقط أو طريقة الأقواس.
new يُنشِئ نسخةً من كائن مُعرَّف من المستخدم أو نسخةً من أحد أنواع الكائنات المُضمّنة في لغة JavaScript والتي تملك دالةً بانيةً.
new.target تسمح لك بمعرفة إن استدعيت دالةٌ عاديةٌ أم دالةٌ بانيةٌ باستخدام المعامل new.
super تُستخدَم للوصول إلى الكائنات في الكائن الأب واستدعائها.
obj...) معامل النشر (spread operator) يسمح للكائنات التي يمكن المرور على عناصرها (أي أنها iterable) مثل تعابير المصفوفات أو السلاسل النصية أن توسَّع في الأماكن التي تتوقع JavaScript وجود صفر وسيط أو أكثر (عند استدعاء الدوال) أو صفر عنصر أو أكثر (في المصفوفات)، أو نشر كائن في الأمكان التي تتوقع JavaScript وجود صفر زوج أو أكثر من المفتاحي والقيم المرتبطة بها (عند تعريف الكائنات).
وهي تتضمن الزيادة (أو النقصان) قبل الإسناد، والزيادة (أو النقصان) بعد الإسناد.
A++A--++A--Aوهي المعاملات التي تجري عمليتها على قيمة واحدة فقط.
delete: يحذف خاصيةً من كائن.void: يُقدِّر قيمة التعبير المعطى (expression) ثم يُعيد القيمةundefined.typeof: يُعيد سلسلةً نصية تُشير إلى نوع القيمة التي تليه.+ و-: إشارة الزائد والناقص التي تُستخدَم مع القيم العددية Number.~: معامل NOT الثنائي.!: معامل NOT المنطقي.المعاملات الرياضية تأخذ القيم العددية وتجري عليها عمليةً ثم تعيد قيمةً واحدةً.
+: معامل الجمع.-: معامل الطرح./: معامل القسمة.*: معامل الضرب.%: معامل باقي القسمة**: معامل رفع العدد إلى قوة.تجري هذه المعاملات عملياتها على قيمةٍ ما وتُعيد قيمةً منطقية (Boolean) بناءً على قيمة ناتج المقارنة.
in يُعيد القيمة true إذا كانت الخاصية المُحدَّدة موجودةً في الكائن أو في سلسلة prototype الخاصة به.
instanceof يختبر إذا كانت الخاصية prototype لدالة بانية تظهر في أيّ مكان في سلسلة prototype لأحد الكائنات.
>: أقل من.<: أكبر من.=>: أقل من أو يساوي.=<: أكبر من أو يساوي.هذه المعاملات تعيد قيمةً منطقيةً (Boolean) بناءً على ناتج اختبار مساواة قيمتين مع بعضهما بعضًا.
==: معامل المساواة.=!: معامل عدم المساواة.===: معامل المطابقة.==!: معامل عدم المطابقة.تُعامِل المعاملات الثنائية القيم على أنها مجموعة من 32 بت (أصفار وواحدات) وتُعيد قيمًا رقميةً عادية.
تُستخدَم المعاملات المنطقية عادةً مع القيم المنطقية (Boolean)، وتُعيد قيمةً منطقيةً أيضًا.
&&: معامل AND المنطقي.||: معامل OR المنطقي.هو المعامل الوحيد في JavaScript الذي يأخذ ثلاثة قيمة ليجري عليها عمليته، ومن الشائع استخدام هذا المعامل كاختصارٍ للتعبير البرمجي if.
تُسنِد هذه المعاملات القيمة التي على يسار المعامل بناءً على قيمة ما على يمينه.
=: معامل الإسناد.=*: معامل الإسناد والضرب.=/: معامل الإسناد والقسمة.=%: معامل الإسناد وحساب باقي القسمة.=+: معامل الإسناد والجمع.=-: معامل الإسناد والطرح.=>>: معامل الإسناد والإزاحة إلى اليسار.=<<: معامل الإسناد والإزاحة إلى اليمين.=<<<: معامل الإسناد والإزاحة إلى اليمين دون الحفاظ على الإشارة.=&: معامل الإسناد وإجراء عملية AND الثنائية.=^: معامل الإسناد وإجراء عملية XOR الثنائية.=|: معامل الإسناد وإجراء عملية OR الثنائية.الاسناد بالتفكيك (destructuring assignment) يسمح بتفكيك القيم الموجودة في المصفوفات أو خاصيات أحد الكائنات إلى متغيرات مستقلة.
[a, b] = [1, 2]{a, b} = {a:1, b:2}يُقدِّر القيم التي يجري عمليتها عليها (من اليسار إلى اليمين) ويُعيد قيمة آخر قيمة .