اذهب إلى المحتوى

السؤال

نشر (معدل)

ما الفرق بين هذه الطريقة 

function sum( num1 , num2 ){
  if (!num2) num2 = 0;
  console.log( num1 + num2);
}

sum(4);

هذه الطريقة

function sum( num1, num2 = 0 ){
  console.log( num1 + num2);
}

sum(4);

 

تم التعديل في بواسطة سامح أشرف
تنسيق وتوضيح السؤال

Recommended Posts

  • 0
نشر

في هذه الحالة لا يوجد فرق عملي بين الطرقتين، وكلاهما يؤدي لنفس النتيجة، ولكن الطريقة الثانية مختصرة وواضحة أكثر، أيضًا في حالة التعامل مع مدخلات تكون قيمتها الإفتراضية عبارة عن قيمة منطقية Boolean فلن تفي بالغرض الطريقة الأولى ويجب عليك حينها إستخدام الطريقة الثانية، مثال لتوضيح الفكرة:

function login(isVerified = false) {
  if(isVerified) {
    console.log('You Are Logged In!');
  } else {
    console.log('Please Verify Your Account!');
  }
}

login();

هنا لدينا دالة تقوم بتسجيل الدخول (كمثال فقط)، وتأخذ المعامل isVerified والذي لديه قيمة إفتراضية وهي false، في هذه الحالة إن أستعملنا شرط مثل الطريقة الأولى المذكورة في سؤال، فلن يفيد في أي شيء:

// الشرط التالي لن يفيد في شيء
if (!isVerified) isVerified = false;

أيضًا في حالة إستعمال مدخلات يمكن أن يكون لها قيمة مثل null أو undefined فمن الأفضل إستعمال المدخلات الإفتراضية بدلًا من إستعمال طريقة الشروط conditions.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...