در جاوااسکریپت، برای ذخیرهسازی دادهها از متغیرها استفاده میشود. متغیرها با استفاده از var
، let
و const
تعریف میشوند که هرکدام ویژگیها و کاربردهای خاص خود را دارند. در این مقاله، انواع متغیرها را بررسی میکنیم.
var
– متغیرهای قدیمی جاوااسکریپتقبل از معرفی ES6، تمام متغیرها با var
تعریف میشدند. این نوع متغیر سراسری (Global Scope) یا تابعی (Function Scope) است و قابلیت بازتعریف (Re-declaration) و تغییر مقدار (Re-assignment) را دارد.
var name = "Ali";
var name = "Reza"; // بازتعریف مجاز است
name = "Sara"; // تغییر مقدار مجاز است
console.log(name); // "Sara"
مشکل var
این است که متغیرهای تعریفشده درون یک بلوک {}
همچنان در سطح تابع یا سراسری قابلدسترسی هستند.
let
– متغیرهای قابل تغییر با محدودیت بلوکlet
در ES6 معرفی شد و بر خلاف var
، دارای محدودیت بلوک (Block Scope) است. یعنی فقط در محدوده {}
قابلدسترسی است.
let age = 25;
age = 30; // تغییر مقدار مجاز است
console.log(age); // 30
{
let city = "Tehran";
console.log(city); // "Tehran"
}
// console.log(city); // خطا: city در این محدوده قابلدسترسی نیست
ویژگی مهم let
: بازتعریف مجدد با همان نام در یک محدوده مجاز نیست.
const
– متغیرهای ثابت و تغییرناپذیرconst
نیز در ES6 معرفی شد و برای متغیرهایی که مقدار آنها نباید تغییر کند استفاده میشود. این متغیرها باید مقداردهی اولیه شوند و پس از مقداردهی دیگر قابل تغییر نیستند.
const pi = 3.14;
// pi = 3.14159; // خطا: مقدار یک متغیر const قابل تغییر نیست
console.log(pi);
ویژگی مهم const
: مقداردهی اولیه اجباری است و مقدار آن نباید تغییر کند.
var
، let
و const
ویژگی | var | let | const |
---|---|---|---|
محدوده (Scope) | تابعی | بلوکی | بلوکی |
بازتعریف (Re-declaration) | ✅ بله | ❌ خیر | ❌ خیر |
تغییر مقدار (Re-assignment) | ✅ بله | ✅ بله | ❌ خیر |
نیاز به مقدار اولیه | ❌ خیر | ❌ خیر | ✅ بله |
از let
برای متغیرهایی که مقدارشان تغییر میکند استفاده کنید.
از const
برای مقادیر ثابت و تغییرناپذیر استفاده کنید.
از var
استفاده نکنید، زیرا مدیریت محدوده آن مشکلساز است.
جاوااسکریپت از var
، let
و const
برای تعریف متغیرها استفاده میکند. let
و const
گزینههای بهتری نسبت به var
هستند، زیرا محدوده آنها به بلوک محدود است. برای کدنویسی بهینه و ایمن، پیشنهاد میشود از const
برای مقادیر ثابت و از let
برای متغیرهایی که مقدارشان تغییر میکند استفاده کنید.
لیست ها (آرایه):
آرایه (Array) در جاوااسکریپت یک ساختار دادهای است که میتواند مجموعهای از مقادیر را در خود ذخیره کند. این مقادیر میتوانند از هر نوعی باشند (عدد، رشته، بولی، آبجکت و ...).
برای ایجاد آرایه میتوان از علامت [ ] یا کلمه کلیدی new Array()
استفاده کرد.
let numbers = [10, 20, 30, 40]; // آرایهای از اعداد
let fruits = ["سیب", "موز", "گیلاس"]; // آرایهای از رشتهها
let mixed = [10, "سلام", true, {name: "علی"}]; // آرایهای با مقادیر مختلف
آبجکت
آبجکت (Object) در جاوااسکریپت یک ساختار دادهای است که اطلاعات را به صورت کلید (Key) و مقدار (Value) ذخیره میکند.
برای ایجاد آبجکت میتوان از {}
یا new Object()
استفاده کرد.
let person = {
name: "علی",
age: 30,
city: "تهران"
};
رایگان ثبت نام کنید و اولین نفری باشید که از پست های جدید مطلع می شوید.