45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
---
|
|
title: Default Parameters
|
|
localeTitle: المعلمات الافتراضية
|
|
---
|
|
## المعلمات الافتراضية
|
|
|
|
إذا كنت معتادًا على لغات البرمجة الأخرى مثل Ruby و Python ، فإن المعلمات الافتراضية ليست جديدة بالنسبة لك.
|
|
|
|
المعلمات الافتراضية هي المعلمات التي يتم إعطاؤها افتراضيا أثناء التصريح عن وظيفة. ولكن يمكن تغيير القيمة عند استدعاء الوظيفة.
|
|
|
|
مثال
|
|
|
|
`let Func = (a, b = 10) => {
|
|
return a + b;
|
|
}
|
|
Func(20); // 20 + 10 = 30
|
|
`
|
|
|
|
في المثال أعلاه ، نمر بمعلمة واحدة فقط. تستخدم الدالة المعلمة الافتراضية وتقوم بتنفيذ الوظيفة.
|
|
|
|
فكر في مثال آخر:
|
|
|
|
`Func(20, 50); // 20 + 50 = 70
|
|
`
|
|
|
|
في المثال أعلاه ، تأخذ الدالة معلمتين وتستبدل المعلمة الثانية المعلمة الافتراضية.
|
|
|
|
فكر في مثال آخر:
|
|
|
|
`let NotWorkingFunction = (a = 10, b) => {
|
|
return a + b;
|
|
}
|
|
NotWorkingFunction(20); // NAN. Not gonna work.
|
|
`
|
|
|
|
عندما تقوم باستدعاء الوظيفة بمعلمات يتم تعيينها في الترتيب. (أي) يتم تعيين القيمة الأولى إلى المعلمة الأولى ويتم تعيين القيمة الثانية إلى المعلمة الثانية وهكذا.
|
|
|
|
في المثال أعلاه ، يتم تعيين القيمة 20 إلى المعلمة 'a' و 'b' ليس لها أي قيمة. لذلك نحن لا نحصل على أي إخراج.
|
|
|
|
لكن،
|
|
|
|
`NotWorkingFunction(20, 30); // 50;
|
|
`
|
|
|
|
يعمل بشكل جيد. |