آموزش جامع متغیرها و ثوابت در جاوااسکریپت
🎯 اهداف یادگیری
- آشنایی با مفهوم متغیرها و ثوابت در جاوااسکریپت
- یادگیری تفاوت بین var، let و const
- شناخت محدوده (scope) متغیرها
- آشنایی با قوانین نامگذاری صحیح متغیرها
📌 متغیرها در جاوااسکریپت
متغیرها محفظههایی برای ذخیره دادهها هستند که میتوان مقادیر مختلفی را در آنها قرار داد:
javascript
// تعریف متغیر با letlet message = 'سلام دنیا!';// تغییر مقدار متغیرmessage = 'خوش آمدید'; // مقدار جدید// تعریف چند متغیر در یک خطlet user = 'علی', age = 25, isAdmin = false;
ویژگیهای متغیرها:
- قابل تغییر: میتوان مقادیر جدیدی به آنها اختصاص داد
- انواع داده پویا: میتوانند هر نوع دادهای را ذخیره کنند
- محدوده بلوکی (با let): فقط در بلوک تعریف شده قابل دسترسی هستند
📌 ثوابت در جاوااسکریپت
ثوابت مقادیری هستند که پس از تعریف نمیتوان آنها را تغییر داد:
javascript
// تعریف ثابت با constconst PI = 3.14159;const API_URL = 'https://api.example.com';// این خط ارور میدهدPI = 3.14; // TypeError: Assignment to constant variable
کاربردهای ثوابت:
- مقادیر ثابت: مانند عدد پی، آدرسهای API
- تنظیمات برنامه: مقادیری که در طول اجرا تغییر نمیکنند
- اشیا و آرایهها: میتوان محتوای آنها را تغییر داد اما نمیتوان به متغیر مقدار جدید داد
📌 تفاوت var، let و const
جاوااسکریپت از سه روش برای تعریف متغیرها استفاده میکند:
javascript
// روش قدیمی (ES5)var name = 'رضا'; // محدوده تابعی// روش جدید (ES6+)let age = 30; // محدوده بلوکی، قابل تغییرconst PI = 3.14; // محدوده بلوکی، تغییرناپذیر
مقایسه var، let و const:
ویژگی | var | let | const |
---|---|---|---|
محدوده (Scope) | تابعی | بلوکی | بلوکی |
تغییرپذیری | قابل تغییر | قابل تغییر | تغییرناپذیر |
بازتعریف | مجاز | غیرمجاز | غیرمجاز |
Hoisting | دارد (با مقدار undefined) | دارد (بدون مقدار اولیه) | دارد (بدون مقدار اولیه) |
📌 قوانین نامگذاری متغیرها
برای نامگذاری متغیرها در جاوااسکریپت باید قوانین خاصی را رعایت کرد:
javascript
// نامهای معتبرlet userName = 'علی'; // camelCaseconst MAX_USERS = 100; // UPPER_CASE برای ثابتهاlet $price = 1000; // استفاده از $ مجاز است// نامهای نامعتبرlet 1user; // شروع با عدد مجاز نیستlet user-name; // خط تیره مجاز نیستlet function; // کلمات کلیدی مجاز نیستند
قوانین نامگذاری:
- شروع با حرف یا _ یا $: شروع با عدد مجاز نیست
- حروف بعدی: میتواند حرف، عدد، _ یا $ باشد
- کلمات کلیدی ممنوع: مانند let, const, if, for و ...
- حساس به حروف: myVar با myvar متفاوت است
- سبک نامگذاری: camelCase برای متغیرها، UPPER_CASE برای ثابتها
📌 تمرین عملی
برنامهای بنویسید که اطلاعات یک کاربر را در متغیرها ذخیره کند و در کنسول نمایش دهد:
javascript
// اطلاعات کاربر را در متغیرهای مناسب ذخیره کنید// نام، نام خانوادگی، سن، ایمیل و وضعیت فعال بودن// سپس اطلاعات را در کنسول نمایش دهید
راهنمای تمرین:
- از const برای مقادیر ثابت مانند آدرس ایمیل استفاده کنید
- از let برای مقادیری که ممکن است تغییر کنند مانند سن استفاده کنید
- نام متغیرها را به صورت توصیفی و با camelCase انتخاب کنید
- اطلاعات را با console.log نمایش دهید
📌 قدم بعدی
در درس بعدی با توابع و پارامترها در جاوااسکریپت آشنا خواهیم شد!