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

لماذا لا نستخدم Let في معاملات الدالة function

سعدالله مملوك

السؤال

سلام ،

عندما اضفنا المدخلات num1 and num2 في الدالة لم نزد let 

function( num1,num2) 

لماذا لم نعطهم let 

function (let num1=0, let num2=0)

شكرا

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

الكلمة المحجوزة let تُستخدم عند التصريح عن متغير جديد، مثلها مثل var و const، يمكنك الإطلاع على المساهمة التالية لمعرفة الفروقات بينها:

كما يُمكنك الإطلاع على المقال التالي الذي يشرح المتغيرات في جافاسكربت:

ما يتم كتابته بين أقواس الدوال عند التصريح عنها يُسمى معاملات أو وسائط الدالة و تستخدم لتنوب و تستقبل البيانات التي تُمرر لاحقاً للدالة عند إستدعائها الدرس التالي يشرح عن الدوال و قواعد التصريح عنها

 بالتالي هذا من قواعد اللغة نفسها التي يجب إحترامها، عند التصريح عن دالة بمعاملات، و إستدعاء تلك الدالة و تمرير قيم للمعاملات سيتم تلقائيا من اللغة نفسها تعريف متغيرات محلية بتلك الأسماء و تمرير تلك القيم لها، و يكون نطاق التعرف على تلك المتغيرات هو الدالة نفسها بحيث لا يمكن التعرف على تلك المتغيرات خارج نطاق الدالة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

لا تستخدم let في تعريف المعاملات الواردة في تعريف الدالة، حيث يتم تمرير المعاملات كقيم وليس كمتغيرات، بل يتم استخدام let لتعريف متغيرات داخل الدالة أو خارجها.

وكمثال، الدالة التالية تقوم بإجراء عملية جمع على مدخلين وإرجاع النتيجة:

function addNumbers(num1, num2) {
  return num1 + num2;
}

let result = addNumbers(2, 3); // يحتوي result على القيمة 5

تم تمرير القيم 2 و 3 كمدخلات للدالة addNumbers باستخدام المعاملات num1 وnum2 التي تم تعريفها في تعريف الدالة، وتحدث عملية الجمع داخل الدالة باستخدام هذين المدخلين، لكن لم يتم استخدام let في تعريف هذه المعاملات.

بالإضافة إلى ذلك، يمكن استخدام let لتعريف متغيرات داخل الدالة، على النحو التالي:

function multiplyNumbers(num1, num2) {
  let result = num1 * num2;
  return result;
}

let product = multiplyNumbers(4, 5); // يحتوي product على القيمة 20

في المثال، تم تعريف متغير result باستخدام let داخل الدالة multiplyNumbers، حيث يتم حساب الناتج من عملية الضرب بين num1 و num2 وحفظ القيمة في result، وإرجاع هذه القيمة من الدالة وتخزينها في product.

ويمكن القيام بعمليات مختلفة باستخدام المتغيرات المعرفة باستخدام let داخل الدالة، وتمرير المعاملات كقيم فقط دون استخدام let.

وقد تم الإشارة إلى الفرق بين const و let و var في الإجابة السابقة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

لا يمكن استخدام "let" في تعريف مدخلات الدالة، لأن مدخلات الدالة تعتبر بالفعل متغيرات محلية (local variables) داخل نطاق (scope) الدالة. 

عند تعريف دالة، يمكننا تحديد المدخلات التي يمكن للمستخدم إدخالها عن طريق وضعها بين القوسين (). ويمكنك تفسير هذا كأن هذه المدخلات تم تحديدها مسبقًا، وليس من الضروري تعريفها مرة أخرى باستخدام let في داخل دالة.

وبمجرد تمرير القيم لهذه المدخلات، تصبح هذه المتغيرات محليةًً داخل النطاق(scope) الخاص بالدالة، ويمكن الوصول إليها داخل الدالة دون الحاجة لتحديدها مرة أخرى باستخدام let.

 يمكن الاستفادة من الدالة التالية كمثال يوضح ذلك:

function addition(num1, num2) {
  let result = num1 + num2;
  return result;
}

let value = addition(5+4)

console.log(value) // 9

في هذا المثال، يتم تحديد مدخلين (num1 و num2) دون استخدام let، ويتم تعريف متغير محلي (result) داخل الدالة بمجرد إنشائها. ولن يتمكن المستخدم من الوصول إلى هذه المتغيرات من خارج الدالة.

يفضل أن تعرف كيفية إنشاء المتغيرات في لغة جافا سكربت (JavaScript) وما الفرق بين  let و var و const في الأعلان عن المتغير.

في لغة جافا سكربت (JavaScript)، هناك ثلاثة أنواع من الأوامر(الكلمات مفتاحية) التي تستخدم لإعلان المتغيرات، وهذه ننظرة علي كلٍ منها:

1. var: هي الطريقة القديمة لتعريف المتغيرات في جافا سكربت، يمكن استخدامها لتعريف متغير في أي مكان في البرنامج. قبل ES6 (ECMAScript 2015)، كان var الأمر الوحيد المستخدم لتعريف متغيرات في جافا سكربت.

الكود:

var a = 5;

function testFunc() {
  var b = 10;
  console.log(a); // 5
  console.log(b); // 10
}

testFunc();
console.log(a); // 5
console.log(b); // ReferenceError: b is not defined

2. let: هي الطريقة الجديدة في ES6 لتعريف المتغيرات، يمكن استخدامها لتعريف المتغيرات داخل أي كتلة(نطاق) {...} في البرنامج (على عكس var الذي يمكن استخدامه داخل وخارج الكتلة {}). عند استخدام let، لا يمكن استخدام إعلان نفس الاسم مرتين في نفس الكتلة.

الكود:

let x = 10;
if (x === 10) {
  let x = 20;
  console.log(x); // 20
}
console.log(x); // 10

في هذا المثال، تم تعريف متغير x باستخدام let عندما تم اختبار قيمته في الشرط، تم تغير قيمة x على قيمة جديدة 20. ولكن هذا التعريف يكون فقط مع المحدد الداخلي للشرط، بمعنى آخر، متغير x الذي تم تعريفه خارج الشرط لن يتأثر بأي تغيير يتم إجراؤه داخل الشرط.

وهذا يعني أن القيمة المطبوعة لـ x خارج الشروط ستكون 10، بينما القيمة المطبوعة داخل الشرط ستكون 20. هذا هو ما يعنيه let - إنه يعرف مجالًا محددًا للمتغيرات التي يمكن تغييرها فقط في المحدد المعين.

3. const: هي طريقة لتعريف المتغيرات التي لا يمكن تغيير قيمتها بعد الإعلان عنها. يجب تعيين القيمة الأولية للمتغير عند إعلانه، ولا يمكن إعادة تعيين القيمة لاحقًا.

الكود:

const a = 5;

function testFunc() {
  const b = 10;
  console.log(a); // 5
  console.log(b); // 10
}

testFunc();
console.log(a); // 5
a = 6; // TypeError: Assignment to constant variable.
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يجب أن تعرف أولاً الفرق بين المتغيرات والمعاملات حتى تستطيع الإجابة بنفسك 

المتغيرات هي عبارة عن مساحات في الذاكرة يتم تخصيصها لتخزين القيم والبيانات التي يمكن استخدامها في البرنامج. يمكن تعريف المتغيرات باستخدام var أو let أو const، ويمكن تخزين قيم مختلفة في المتغيرات خلال تشغيل البرنامج. ويمكن الوصول إلى المتغيرات في أي مكان في نطاق البرنامج، حيث يمكن تغييرها أو استخدامها في العمليات الحسابية أو أي عملية أخرى.

مثال:
 

let x = 5;
let y = 10;
let z = x + y;
console.log(z); // سيظهر في النتيجة القيمة 15

في هذا المثال، تم تعريف المتغيرات "x" و "y" و "z" باستخدام let، وتم تخزين القيم 5 و 10 في المتغيرات "x" و "y" على التوالي. ثم تم إجراء عملية الجمع بين "x" و "y" وتخزين النتيجة في المتغير "z". وأخيراً تم استخدام دالة console.log() لإظهار قيمة المتغير "z" في النتيجة.

أما المعاملات، فهي قيم تمرر إلى دالة أثناء استدعائها، ولا يمكن تغييرها داخل الدالة. يتم تعريف المعاملات بوضعها بين قوسين في تعريف الدالة، ويتم استخدامها داخل الدالة لإجراء العمليات الحسابية أو الإجراءات الأخرى التي تحتاج إلى تلك القيم. عند استدعاء الدالة، يتم تمرير المعاملات اللازمة لتلك الدالة بين القوسين.

مثال:
 

function multiply(num1, num2) {
  return num1 * num2;
}
let result = multiply(5, 10);
console.log(result); // سيظهر في النتيجة القيمة 50

في هذا المثال، تم تعريف الدالة "multiply" التي تأخذ معاملين "num1" و "num2" وتقوم بإجراء عملية الضرب بينهما وإرجاع النتيجة. ثم تم استدعاء الدالة "multiply" وتمرير القيم 5 و 10 كمعاملات لها، وتم تخزين النتيجة في المتغير "result". وأخيراً تم استخدام دالة console.log() لإظهار قيمة المتغير "result" في النتيجة.

في النهاية، تستخدم المتغيرات لتخزين القيم والبيانات التي يمكن تغييرها أثناء تشغيل البرنامج، بينما تستخدم المعاملات لتمرير القيم للدوال أثناء استدعائها، ولا يمكن تغييرها داخل الدالة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...