اگر به‌تازگی یادگیری برنامه‌نویسی را شروع کرده‌اید، احتمالاً خیلی زود با کلمه «متغیر» یا Variable روبه‌رو می‌شوید. متغیرها یکی از پایه‌ای‌ترین بخش‌های جاوا اسکریپت هستند و تقریباً در هر برنامه‌ای که با این زبان نوشته می‌شود، با آن‌ها سروکار دارید.

اما متغیر دقیقاً چیست و چرا به آن نیاز داریم؟ در این آموزش از سافت گاید، مفهوم متغیر در جاوا اسکریپت را از صفر توضیح می‌دهیم و با چند مثال ساده یاد می‌گیریم چطور با let و const اطلاعات را در برنامه ذخیره کنیم.

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

به زبان ساده، متغیر یک نام مشخص برای نگهداری یک مقدار است.

فرض کنید می‌خواهید نام یک کاربر را در برنامه ذخیره کنید. به جای اینکه هر بار نام را در قسمت‌های مختلف کد بنویسید، می‌توانید آن را داخل یک متغیر قرار دهید و بعداً با استفاده از نام متغیر به آن دسترسی داشته باشید.

مثلاً:

let name = "Ali";

در این مثال، متغیری به نام name ساخته‌ایم و مقدار Ali را داخل آن قرار داده‌ایم.

حالا هر زمان که در برنامه به name اشاره کنیم، مقدار ذخیره‌شده در آن را در اختیار خواهیم داشت.

console.log(name);

خروجی:

Ali

در واقع می‌توان متغیر را مثل یک جعبه در نظر گرفت که یک اسم دارد و مقداری داخل آن قرار گرفته است.

چرا به متغیر نیاز داریم؟

برنامه‌ها دائماً با اطلاعات مختلف سروکار دارند. نام کاربر، سن، قیمت محصول، تعداد کالا، نتیجه یک محاسبه و حتی اطلاعات پیچیده‌تر، همگی داده‌هایی هستند که برنامه باید بتواند با آن‌ها کار کند.

برای مثال فرض کنید در حال ساخت یک فروشگاه اینترنتی هستید. ممکن است لازم باشد قیمت یک محصول را ذخیره کنید:

let price = 500000;

بعداً می‌توانید از همین مقدار برای محاسبه تخفیف یا نمایش قیمت استفاده کنید.

بنابراین متغیرها کمک می‌کنند اطلاعات موردنیاز برنامه را ذخیره کنیم و در قسمت‌های مختلف کد دوباره از آن‌ها استفاده کنیم.

ساخت متغیر با let

در جاوا اسکریپت مدرن، یکی از روش‌های اصلی برای ساخت متغیر استفاده از let است.

ساختار آن بسیار ساده است:

let name = "Reza";

در این مثال:

  • let مشخص می‌کند که می‌خواهیم یک متغیر ایجاد کنیم.

  • name نام متغیر است.

  • علامت = مقدار را به متغیر اختصاص می‌دهد.

  • "Reza" مقداری است که داخل متغیر قرار گرفته است.

بعداً می‌توانیم مقدار یک متغیر ساخته‌شده با let را تغییر دهیم:

let age = 20;

age = 21;

console.log(age);

خروجی:

21

یعنی مقدار age ابتدا 20 بوده و بعد به 21 تغییر کرده است.

const در جاوا اسکریپت چیست؟

روش دیگری که در کدنویسی جاوا اسکریپت زیاد با آن مواجه می‌شوید، const است.

از const زمانی استفاده می‌کنیم که نمی‌خواهیم خود متغیر دوباره مقداردهی شود.

مثلاً:

const siteName = "SoftGuide";

اگر بعداً تلاش کنیم مقدار آن را تغییر دهیم:

siteName = "Example";

جاوا اسکریپت خطا می‌دهد، چون متغیر با const تعریف شده و امکان مقداردهی مجدد به آن وجود ندارد. همچنین const باید هنگام تعریف، مقدار اولیه داشته باشد.

تفاوت let و const چیست؟

برای شروع کار فقط کافی است این تفاوت ساده را به خاطر بسپارید:

let: برای مقداری که ممکن است بعداً تغییر کند.

let score = 10;
score = 20;

const: برای مقداری که قرار نیست دوباره به متغیر دیگری اختصاص داده شود.

const country = "Iran";

در کدنویسی مدرن معمولاً بهتر است اگر می‌دانید مقدار یک متغیر قرار نیست دوباره تغییر کند، از const استفاده کنید و برای مقادیری که نیاز به تغییر دارند، let را به کار ببرید. منابع آموزشی MDN نیز استفاده از let و const را به جای var در کدهای مدرن توصیه می‌کنند.

آیا هنوز از var استفاده می‌شود؟

اگر در آموزش‌های قدیمی یا کدهای موجود در اینترنت جست‌وجو کنید، احتمالاً با var هم روبه‌رو می‌شوید.

مثلاً:

var name = "Ali";

var یکی از روش‌های قدیمی تعریف متغیر در جاوا اسکریپت است. تفاوت‌هایی در محدوده دسترسی و رفتار آن با let وجود دارد که می‌تواند برای افراد تازه‌کار گیج‌کننده باشد. به همین دلیل در کدهای جدید معمولاً let و const انتخاب مناسب‌تری هستند.

اگر در یک پروژه قدیمی var دیدید، به این معنی نیست که کد حتماً اشتباه است؛ فقط باید بدانید روش‌های مدرن‌تری برای تعریف متغیر وجود دارند.

چند نوع مقدار را می‌توان داخل متغیر قرار داد؟

متغیرهای جاوا اسکریپت می‌توانند مقادیر مختلفی داشته باشند.

برای مثال یک متن:

let name = "Ali";

یک عدد:

let age = 25;

یک مقدار درست یا غلط:

let isOnline = true;

یا حتی اطلاعات پیچیده‌تری مانند آرایه و شیء.

مثلاً:

const colors = ["red", "blue", "green"];

در اینجا colors شامل چند مقدار است.

نکته مهم برای شروع این است که لازم نیست همه انواع داده جاوا اسکریپت را از همان ابتدا یاد بگیرید. بهتر است ابتدا مفهوم متغیر و نحوه استفاده از let و const را به خوبی یاد بگیرید و سپس سراغ مباحث بعدی بروید.

نام متغیر را چطور انتخاب کنیم؟

انتخاب نام مناسب باعث می‌شود خواندن کد بسیار راحت‌تر شود.

مثلاً این کد را ببینید:

let x = 25;

از روی نام x مشخص نیست این عدد چه معنایی دارد.

اما اگر بنویسیم:

let userAge = 25;

مشخص است که مقدار ذخیره‌شده مربوط به سن کاربر است.

بنابراین بهتر است نام متغیر تا حد امکان مفهوم داشته باشد.

برای مثال:

let userName = "Ali";
let productPrice = 500000;
let shoppingCart = [];

این نام‌ها خیلی بهتر از نام‌هایی مثل a، x یا data1 مفهوم اطلاعات ذخیره‌شده را نشان می‌دهند. راهنمای کدنویسی MDN نیز روی استفاده از نام‌های واضح و معنادار برای متغیرها تأکید دارد.

یک مثال ساده و کاربردی

فرض کنید می‌خواهیم نام و سن یک کاربر را ذخیره کنیم:

const userName = "Sara";
let userAge = 22;

console.log(userName);
console.log(userAge);

خروجی برنامه به شکل زیر خواهد بود:

Sara
22

حالا فرض کنید یک سال گذشته است:

userAge = 23;

چون userAge را با let ساخته‌ایم، تغییر مقدار آن مشکلی ندارد.

اما userName با const تعریف شده و قرار نیست دوباره مقداردهی شود.

چطور متغیرها را در مرورگر امتحان کنیم؟

اگر هنوز محیط برنامه‌نویسی روی کامپیوترتان نصب نکرده‌اید، برای آزمایش مثال‌های ساده جاوا اسکریپت حتی می‌توانید از کنسول مرورگر استفاده کنید.

در مرورگرهایی مثل Chrome یا Firefox، ابزارهای توسعه‌دهنده (Developer Tools) امکان اجرای کد جاوا اسکریپت در Console را فراهم می‌کنند. این روش برای آزمایش کدهای کوتاه و یادگیری مفاهیم ابتدایی بسیار کاربردی است.

مثلاً می‌توانید این کد را در Console اجرا کنید:

let name = "Ali";
console.log(name);

اگر همه چیز درست باشد، مقدار Ali را در خروجی مشاهده خواهید کرد.

جمع‌بندی

متغیر یکی از مفاهیم پایه‌ای جاوا اسکریپت است و برای نگهداری اطلاعات در برنامه استفاده می‌شود. اگر تازه برنامه‌نویسی را شروع کرده‌اید، در ابتدا روی دو کلمه let و const تمرکز کنید.

از let زمانی استفاده کنید که احتمال تغییر مقدار وجود دارد و از const برای مقداری استفاده کنید که قرار نیست دوباره به متغیر مقدار جدیدی اختصاص داده شود.

بعد از یادگیری متغیرها، بهتر است سراغ موضوعاتی مثل انواع داده، عملگرها، شرط‌ها و توابع در جاوا اسکریپت بروید. این مفاهیم در کنار هم پایه‌های اصلی یادگیری JavaScript را تشکیل می‌دهند.