Skip to content

JavaScript Massivlar va const ​

ES6 (2015) bilan birga JavaScript-ga const kalit so'zi kirib keldi. Bugungi kunda massivlarni e'lon qilishda const dan foydalanish odatiy holga (best practice) aylangan.


1. Qayta qiymat berib bo'lmaydi ​

const bilan yaratilgan massivga boshqa yangi massivni o'zlashtirib bo'lmaydi. Bu xatolikka olib keladi.

Xato misol

js
const mashinalar = ["Saab", "Volvo", "BMW"];
mashinalar = ["Toyota", "Volvo", "Audi"]; // XATO! (Assignment to constant variable)

2. Massivlar "o'zgarmas" emas ​

const kalit so'zi biroz chalg'ituvchi bo'lishi mumkin. U o'zgarmas massivni emas, balki massivga bo'lgan o'zgarmas havolani (reference) belgilaydi.

Shu sababli, biz hali ham massivning elementlarini o'zgartirishimiz mumkin:

js
const mashinalar = ["Saab", "Volvo", "BMW"];

// Elementni o'zgartirish mumkin:
mashinalar[0] = "Toyota";

// Yangi element qo'shish mumkin:
mashinalar.push("Audi");

console.log(mashinalar); // ["Toyota", "Volvo", "BMW", "Audi"]

3. E'lon qilish vaqtida qiymat berish (Initialization) ​

const bilan e'lon qilingan o'zgaruvchiga o'sha zahoti qiymat berilishi shart. Massivni keyinroq to'ldirish uchun bo'sh qoldirib bo'lmaydi.

Xato:

js
const mashinalar; // XATO!
mashinalar = ["Saab", "Volvo", "BMW"];

var bilan esa buni qilish mumkin:

js
mashinalar = ["Saab", "Volvo", "BMW"];
var mashinalar; // To'g'ri (Hoisting sababli)

4. Blok doirasi (Block Scope) ​

const bilan yaratilgan massiv blok doirasiga ega. Ya'ni, jingalak qavslar { } ichida yaratilgan massiv tashqaridagi xuddi shu nomli massivdan mustaqil hisoblanadi.

js
const mashinalar = ["Saab", "Volvo", "BMW"];
// Bu yerda mashinalar[0] - "Saab"

{
  const mashinalar = ["Toyota", "Volvo", "BMW"];
  // Bu yerda mashinalar[0] - "Toyota"
}

// Bu yerda yana mashinalar[0] - "Saab"

Xulosa ​

Hozirgi zamonaviy JavaScript-da massivlar uchun har doim const dan foydalanish tavsiya etiladi. Agar siz massivning o'zini butunlay yangisiga almashtirmasangiz (ki buni qilish kamdan-kam hollarda kerak bo'ladi), const eng xavfsiz va to'g'ri yo'ldir.