متغیر ها در جاوااسکریپت

اغلب مواقع برنامه جاوا اسکریپت برای کار نیاز به اطلاعات دارهمثلا : فروشگاه آنلاین - اطلاعات ممکنه شامل کالاهای فروخته شده و سبد خرید باشهیا :یک برنامه چت - اطلاعات ممکنه شامل کاربرها، پیام ها و ... باشهبرای ذخیره این اطلاعات از متغیرها استفاده میکنیممتغیر یک "فضای نامگذاری شده" برای داده هاست و ما می‌تونیم از متغیرها برای ذخیره موارد، بازدیدکنندگان و سایر داده‌ها استفاده کنیمبرای ایجاد متغیر در جاوا اسکریپت، از کلمه کلیدی let استفاده میکنیمعبارت زیر یه متغیر با نام "message" ایجاد می کنه (به عبارت دیگه: اعلام می کنه):let message;حالا می‌تونیم با استفاده از عملگر انتساب مقداری داده رو داخلش قرار بدیم:let message; message = 'Hello'; // store the string 'Hello' in the variable named messageرشته حالا در ناحیه حافظه مرتبط با متغیر ذخیره شده. ما می تونیم با استفاده از نام متغیر به اون دسترسی پیدا کنیم:let message; message = 'Hello!'; alert(message); // shows the variable contentبرای کوتاه کردن، می‌تونیم تعریف متغیر و انتساب رو توی یک خط ترکیب کنیم:let message = 'Hello!'; // define the variable and assign the value alert(message); // Hello!همچنین می تونیم چندین متغیر رو در یک خط تعریف کنیم:let user = 'John', age = 25, message = 'Hello';ممکنه کوتاه‌تر به نظر برسه، اما توصیه نمیشه. برای خوانایی بهتر، در هر خط از یک متغیر استفاده کنید.نوع چند خطی شاید کمی طولانی تر به نظر برسه، اما خوانایی کد رو افزایش میده:let user = 'John'; let age = 25; let message = 'Hello';برخی افراد هم ، چندین متغیر رو با این سبک به صورت چند خطی تعریف می کنن:let user = 'John', age = 25, message = 'Hello' ;کلمه کلیدی var به جای let :توی اسکریپت های قدیمی، ممکنه کلمه کلیدی دیگه ای هم پیدا کنید: var به جای let:var message = 'سلام';کلمه کلیدی var تقریباً همان let هستش. دقیقا یک متغیر رو اعلام می‌کنه، اما به روشی «قدیمی» و کمی متفاوت.تفاوت های ظریفی بین let و var وجود داره، اما اونا هنوز برای ما مهم نیستند. بعدا شاید در رابطه باهاش حرف بزنیمما می‌تونیم به راحتی مفهوم «متغیر» رو درک کنیم، اگه اون رو به‌عنوان «جعبه‌ای» برای داده‌ها با برچسبی منحصربه‌فرد روی اون تصور کنیم.به عنوان مثال، متغیر message رو می تونین شبیه جعبه ای با برچسب "message" با مقدار "Hello!" تصور کنید.که در اون:ما می تونیم هر مقداری رو در داخل جعبه قرار بدیمما همچنین می تونیم اون رو هر چند بار که خواستیم تغییر بدیمlet message; message = 'Hello!'; message = 'World!'; // value changed alert(message);وقتی که مقدار تغییر می کنه، داده های قدیمی از متغیر حذف می شن:همچنین می تونیم دو متغیر رو تعریف کنیم و داده هاشون رو از یکی به دیگری کپی کنیم.let hello = 'Hello world!'; let message; // copy 'Hello world' from hello into message message = hello; // now two variables hold the same data alert(hello); // Hello world! alert(message); // Hello world!تعریف دوباره ی همون متغیر یک خطا است. یک متغیر باید فقط یک بار اعلام بشهlet message = &quotThis&quot // repeated 'let' leads to an error let message = &quotThat&quot // SyntaxError: 'message' has already been declaredپس، یک متغیر رو باید یکبار اعلام کنیم و بعدش بدون let به اون مراجعه کنیم.(مقدارش رو بگیریم یا تغییرش بدیم)نامگذاری متغیرهادو تا محدودیت برای نامگذاری متغیرها تئی جاوا اسکریپت وجود داره:نام باید فقط شامل حروف، اعداد یا نمادهای $ و _ باشه.اولین کاراکتر نباید رقمی باشه.let userName; let test123;ثابت ها ( constants )برای اعلام و تعریف یه متغیر ثابت (غیر قابل تغییر)، به جای let از const استفاده میکنیم:const myBirthday = '18.04.1982';متغیرهای اعلام شده با استفاده از const "ثابت" گفته می شن. اونها رو نمیشه دوباره مقداردهی کرد. تلاش برای انجام این کار باعث ایجاد خطا می شه:const myBirthday = '18.04.1982'; myBirthday = '01.01.2001'; // error, can't reassign the constant!وقتی یک برنامه نویس مطمئن باشه که یک متغیر هرگز تغییر نمیکنه، می تونه اون رو با const اعلام کنه تا تضمین شده باشه و به همه این واقعیت رو اعلام کنه.خلاصهبا استفاده از کلمات کلیدی var، let یا const می تونیم متغیرها رو برای ذخیره داده ها اعلام کنیم.یک : let – یک اعلان متغیر مدرن است.دو : var - یک اعلان متغیر قدیمی است. معمولاً ما اصلاً از آن استفاده نمی‌کنیمسه: const - مانند let است، اما مقدار متغیر را نمی توان تغییر داد.متغیرها رو باید به گونه‌ای نام‌گذاری کنیم که به ما این امکان رو بده که به راحتی بفهمیم چه چیزی داخل اونها وجود دارهخیلی ممنون که تا اینجا اومدی و سعی کردی با متغیرها توی جاوااسکریپت آشنا بشیاگه چیزی بود که من اشتباه متوجه شدم حتما بهم بگو تا کنار هم یاد بگیریم ?منبع: https://javascript.info