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; 
 | 
						|
` 
 | 
						|
 | 
						|
يعمل بشكل جيد. |