JavaScript Масив Const
ECMAScript 2015 (ES6)
В 2015 році JavaScript запровадив важливе нове ключове слово: const
.
Стало звичною практикою оголошувати масиви за допомогою const
:
Не можливо перепризначити
Масив, оголошений за допомогою const
не можливо перепризначити:
Приклад
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR (помилка)
Спробуйте самі »
Масиви - це НЕ константи
Ключове слово const
дещо вводить в оману.
Воно НЕ визначає постійний масив (константу). Воно визначає постійне посилання на масив.
Завдяки чому ми все ще можемо змінювати елементи постійного масиву.
Елементи можна перепризначити
Ви можете змінити елементи постійного масиву:
Приклад
// Ви можете створити постійний масив:
const cars = ["Saab", "Volvo", "BMW"];
// Ви можете змінити елемент:
cars[0] = "Toyota";
// Ви можете додати елемент:
cars.push("Audi");
Спробуйте самі »
Підтримка браузерами
Ключове слово const
не підтримується в Internet Explorer 10 і раніших версіях.
В наступній таблиці визначені перші версії браузерів з повною підтримкою ключового слова const
:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
Призначено при оголошенні
JavaScript змінним const
має бути призначено значення при оголошенні:
Значення: масиви, оголошені за допомогою const
, мають бути ініціалізовані при оголошенні.
Використання const
без ініціалізації масиву є синтаксичною помилкою:
Приклад
Це не буде працювати:
const cars;
cars = ["Saab", "Volvo", "BMW"];
Масиви, оголошені за допомогою var
, можуть бути ініціалізовані в будь-який час.
Ви навіть можете використовувати масив до того, як його буде оголошено:
Область дії блоку Const
Масив, що оголошено за допомогою ключового слова const
має Область дії блоку.
Масив, оголошений в блоці, не співпадає з масивом, оголошеним поза блоком:
Приклад
const cars = ["Saab", "Volvo", "BMW"];
// Тут cars[0] є "Saab"
{
const cars = ["Toyota", "Volvo", "BMW"];
// Тут cars[0] є "Toyota"
}
// Тут cars[0] є "Saab"
Спробуйте самі »
Масив, оголошений за допомогою var
не має області дії блоку:
Приклад
var cars = ["Saab", "Volvo", "BMW"];
// Тут cars[0] є "Saab"
{
var cars = ["Toyota", "Volvo", "BMW"];
// Тут cars[0] є "Toyota"
}
// Тут cars[0] є "Toyota"
Спробуйте самі »
Ви можете дізнатись більше про Область дії блоку в розділі: JavaScript Область дії на нашому сайті W3Schools українською.
Переоголошення (повторне оголошення) масивів
Переоголошення масиву, оголошеного за допомогою var
, дозволено в будь-якому місці програми:
Приклад
var cars = ["Volvo", "BMW"]; // дозволено
var cars = ["Toyota", "BMW"]; // дозволено
cars = ["Volvo", "Saab"]; // дозволено
Переоголошення або перепризначення масиву const
, в тій же області дії або в тому ж блоці, НЕ дозволено:
Приклад
var cars = ["Volvo", "BMW"]; // дозволено
const cars = ["Volvo", "BMW"]; // не дозволено
{
var cars = ["Volvo", "BMW"]; // дозволено
const cars = ["Volvo", "BMW"]; // не дозволено
}
Переоголошення або перепризначення існуючого масиву const
в тій же області дії або в тому ж блоці, НЕ дозволено:
Приклад
const cars = ["Volvo", "BMW"]; // дозволено
const cars = ["Volvo", "BMW"]; // не дозволено
var cars = ["Volvo", "BMW"]; // не дозволено
cars = ["Volvo", "BMW"]; // не дозволено
{
const cars = ["Volvo", "BMW"]; // дозволено
const cars = ["Volvo", "BMW"]; // не дозволено
var cars = ["Volvo", "BMW"]; // не дозволено
cars = ["Volvo", "BMW"]; // не дозволено
}
Переоголошення масиву за допомогою const
в іншій області дії або в іншому блоці дозволено:
Приклад
const cars = ["Volvo", "BMW"]; // дозволено
{
const cars = ["Volvo", "BMW"]; // дозволено
}
{
const cars = ["Volvo", "BMW"]; // дозволено
}
Повний довідник масиву
Для більш детальної інформації про масиви, відвідайте:
Повний довідник JavaScript масиву.
Довідник містить описи та приклади всіх властивостей та методів масиву.