تعريف المتغير var و let متغيران يستخدمان كثيرة في لغة البرمجة جافاسكريبت ولغة البرمجة سويفت التي تستخدم ، بعكس اللغات البرمجية الاخرى التي تستخدم int و string والمتغيرات الاخرى بكثرة .
عند تعريف متغير جديد في جافا سكريبت تعطيه قيمة نصية ا رقمية باستخدام var او let ، وهذه مقبول عادي لكن تذكر انك إذا استخدمت var فيمكنك تغيير القمية المسندة داخل البرنامج وأما إن استخدمت let فإنك تعطي للمتغير قيمة في الأول ولا يمكنك بعد ذلك تغيير قيمة المتغير ، فمثلا إن كتبنا هذه الأمر
let count = 1
var x = 5
هنا قمنا بتعريف متغير count واعطيناه القيمة 1 وفي هذه الحالة لا يمكن أيدا إسناد أو تغيير قيمة count إلى رقم آخر ، وفي المرة الثانية قمنا بتعريف كتغير x واعطيناه القيمة 5 ويمكن أن نغير قيمة x داخل البرنامج .
أظن ان let و var الفرق بينهما واضح الآن .
وبخصوص تعريف المتعير بأنه نصي string أو رقمي integer فلا داعي لتعريف ذلك في جافاسكريبت وسويفت ، يتم التعرف على المتغر في javascript و swift بأنه نصي أو رقمي من خلال وضع النص بين "" وإن كان رقمي يكتب الرقم بدون اضافة هذه المعقوفات "" مثال
let name = "tooroq.com"
let age = 38
var sity = "missour"
var code = 33250
"let" و "var" هما كلمتان مفتاحيتان في JavaScript وحاليا تستحدم في لغة swift الخاصة بأبل . وتُستخدمان لتعريف المتغيرات ، والفرق الرئيسي بينهما يتمثل في (scope) وطريقة عملهما في البرنامج.
إليك شرح موجز للفرق بينهما:
var:
عند استخدام var لتعريف متغير، داخل دالة (function)، أو خارج دالة (global scope) يُمكن إعادة تعريف متغير var وإعادة تعيين قيمته في نفس المكان الموجود فيه ، يعني إن كان خارج الدالة يمكن استخدام متغير var وإعادة تعيين قيمة للمتغر في اي مكان بالبرنامج ، وأما إن كانت داخل دالة فلا يمكن استخدام المتغير إلا في نفس أو داخل الدالة فقط .
let:
تم إدخال let في ES6 (ECMAScript 2015) كبديل عن var مع إضافة تحسينات.
المتغير let هو الكتلة (block scope)، وهذا يعني أن المتغير محدد داخل الكتلة التي تم تعريفها في أول مرة فقط ، مثل القوسين {} في if statements أو loops.
لا يمكن إعادة تعريف متغير let داخل دالة .
تلخيصًا، الفرق الرئيسي بين let و var هو نطاق النطاق الذي يعملان به. let يعمل على مستوى الكتلة ولا يسمح بإعادة تعريف المتغير داخل نفس النطاق، بينما var يعمل على مستوى الوظيفة أو النطاق العالمي ويسمح بإعادة التعريف.
تعليقات
إرسال تعليق