Const в массивах JavaScript
- Предыдущая страница Итерация JS массивов
- Следующая страница JS даты
ECMAScript 2015 (ES6)
В 2015 году JavaScript ввел важный новый ключевой слово:const
.
Используя const
Объявление массива стало обычной практикой:
Пример
const cars = ["Saab", "Volvo", "BMW"];
Не может быть переразмещен
Используя const
Массив, объявленный, не может быть переразмещен:
Пример
const cars = ["Saab", "Volvo", "BMW"]; cars = ["Toyota", "Volvo", "Audi"]; // ОШИБКА
Массив не является константой
Ключевое слово const
Имеет несколько вводящих в заблуждение моментов.
Оно не определяет массив констант. Оно определяет постоянную ссылку на массив.
Таким образом, мы все еще можем изменить элемент массива констант.
Элемент можно переразместить
Вы можете изменить элемент массива констант:
Пример
// Вы можете создать массив констант: const cars = ["Saab", "Volvo", "BMW"]; // Вы можете изменить элемент: cars[0] = "Toyota"; // Вы можете добавить элемент: cars.push("Audi");
Поддержка браузера
Internet Explorer 10 или более ранние версии не поддерживают const
Ключевое слово.
В таблице указаны версии первых браузеров, которые полностью поддерживают ключевое слово const:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Март 2016 года | Октябрь 2013 года | Февраль 2015 года | Сентябрь 2016 года | Март 2016 года |
Присвоение значения при объявлении
JavaScript const
Присвоение значения при
Это означает, что переменная должна быть присвоена значение при её объявлении: const
Объявленный массив должен быть инициализирован при его объявлении.
Используя const
А неинициализация массива является грамматической ошибкой:
Пример
Не работает:
const cars; cars = ["Saab", "Volvo", "BMW"];
Используя var
Объявленный массив можно инициализировать в любое время.
Вы даже можете использовать этот массив до его объявления:
Пример
Нет проблем:
cars = ["Saab", "Volvo", "BMW"]; var cars;
область видимости блоков 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.
повторное объявление массива
В программе можно в любом месте использовать 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 Array.
Этот справочник содержит описание всех свойств и методов массивов и примеры.
- Предыдущая страница Итерация JS массивов
- Следующая страница JS даты