Array Const

در جاوااسکریپت وقتی یک آرایه رو با const تعریف می‌کنیم:

  • اسم متغیر (Reference) ثابت میشه.

  • ولی محتوای داخل آرایه همچنان می‌تونه تغییر کنه (اضافه، حذف یا ویرایش بشه).

1️⃣ تعریف آرایه با const

const cars = ["BMW", "Volvo", "Audi"]; console.log(cars); // ["BMW", "Volvo", "Audi"]

2️⃣ تغییر محتوای آرایه مجاز است ✅

const cars = ["BMW", "Volvo", "Audi"]; cars[0] = "Toyota"; // تغییر مقدار cars.push("Mercedes"); // اضافه کردن عنصر جدید console.log(cars); // ["Toyota", "Volvo", "Audi", "Mercedes"]

📌 حتی با اینکه const استفاده شده، آرایه قابل تغییر باقی می‌مونه.

3️⃣ تغییر مرجع آرایه غیرمجاز ❌

const cars = ["BMW", "Volvo", "Audi"]; // این کار خطا میده: cars = ["Toyota", "Mercedes"]; // ❌ TypeError: Assignment to constant variable

📌 یعنی نمی‌تونی کل آرایه رو دوباره تعریف یا مقداردهی کنی.

4️⃣ آرایه const در مقابل let

  • const: فقط مرجع آرایه ثابت می‌مونه (خود آرایه تغییرپذیر هست).

  • let: می‌تونی هم آرایه رو تغییر بدی هم دوباره مقداردهی کنی.

let arr = ["A", "B"]; arr = ["X", "Y"]; // مجاز console.log(arr); // ["X", "Y"]

5️⃣ جمع‌بندی

  • 🔹 const آرایه رو immutable (غیرقابل تغییر) نمی‌کنه.

  • 🔹 فقط آدرس (Reference) ثابت می‌مونه.

  • 🔹 تغییر داخل آرایه (push, pop, splice, تغییر عناصر) مشکلی نداره.

  • ❌ نمی‌تونی کل آرایه رو دوباره به متغیر const اختصاص بدی.