بی آکادمی
آموزش پایتون
هوش مصنوعی
دانلود و نصب لینوکس
داکر دسکتاپ
VS Code
آموزش لاراول
گیت و گیت هاب
آموزش HTML
آموزش CSS
فلکس باکس
جاوااسکریپت
TypeScript
فروشگاه اینترنتی
اپلیکیشن موبایل
آموزش اکسل
آموزش SQL
آموزش MySQL
آموزش PHP

آموزش جامع متغیرها و ثوابت در جاوااسکریپت


🎯 اهداف یادگیری

  • آشنایی با مفهوم متغیرها و ثوابت در جاوااسکریپت
  • یادگیری تفاوت بین var، let و const
  • شناخت محدوده (scope) متغیرها
  • آشنایی با قوانین نامگذاری صحیح متغیرها

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

متغیرها محفظه‌هایی برای ذخیره داده‌ها هستند که می‌توان مقادیر مختلفی را در آنها قرار داد:

javascript
// تعریف متغیر با let
let message = 'سلام دنیا!';
// تغییر مقدار متغیر
message = 'خوش آمدید'; // مقدار جدید
// تعریف چند متغیر در یک خط
let user = 'علی', age = 25, isAdmin = false;

ویژگی‌های متغیرها:

  • قابل تغییر: می‌توان مقادیر جدیدی به آنها اختصاص داد
  • انواع داده پویا: می‌توانند هر نوع داده‌ای را ذخیره کنند
  • محدوده بلوکی (با let): فقط در بلوک تعریف شده قابل دسترسی هستند

📌 ثوابت در جاوااسکریپت

ثوابت مقادیری هستند که پس از تعریف نمی‌توان آنها را تغییر داد:

javascript
// تعریف ثابت با const
const 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 = 'علی'; // camelCase
const 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
// اطلاعات کاربر را در متغیرهای مناسب ذخیره کنید
// نام، نام خانوادگی، سن، ایمیل و وضعیت فعال بودن
// سپس اطلاعات را در کنسول نمایش دهید

راهنمای تمرین:

  1. از const برای مقادیر ثابت مانند آدرس ایمیل استفاده کنید
  2. از let برای مقادیری که ممکن است تغییر کنند مانند سن استفاده کنید
  3. نام متغیرها را به صورت توصیفی و با camelCase انتخاب کنید
  4. اطلاعات را با console.log نمایش دهید

📌 قدم بعدی

در درس بعدی با توابع و پارامترها در جاوااسکریپت آشنا خواهیم شد!