Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/explore-differences-between-the-var-and-let-keywords.md
2023-01-23 10:14:46 -06:00

2.3 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b87367417b2b2512b3f استكشاف الاختلافات بين المصطلحين var و let 1 301202 explore-differences-between-the-var-and-let-keywords

--description--

واحدة من أكبر المشكلات في إعلان المتغيرات بمصطلح var هي أنه يمكنك بسهولة استبدال قيم الإعلانات السابقة للمتغيرات:

var camper = "James";
var camper = "David";
console.log(camper);

في الكود أعلاه، أعطى متغير camper قيمة James في الإعلان الأصلي، ثم تستبدل عند إعادة إعلانه ليصبح David. ولذلك يعرض وحدة التحكم (console) المقطع النصي (string) الآتي David.

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

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

إذا استبدلت var إلى let في الكود أعلاه، فإنه يؤدي إلى خطأ:

let camper = "James";
let camper = "David";

يمكن رؤية الخطأ في وحدة التحكم (console) متصفحك.

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

--instructions--

حدّث الكود بحيث يستخدم فقط مصطلح let.

--hints--

يجب ألا تكون var موجودة في الكود.

assert.notMatch(code, /var/g);

يجب أن تساوي catName المقطع النصي الآتي Oliver.

assert.equal(catName, 'Oliver');

يجب أن تساوي catSound المقطع النصي الآتي Meow!

assert.equal(catSound, 'Meow!');

--seed--

--seed-contents--

var catName = "Oliver";
var catSound = "Meow!";

--solutions--

let catName = "Oliver";
let catSound = "Meow!";