dr.Brain

doctor Brain

мир глазами веб-разработчика

JavaScript: область видимости для массива

видимость элементов массива в JavaScript

dr.Brain

время чтения 1 мин.

Photo by Külli Kittus on Unsplash

Обратимся к проблеме видимости элементов массива при использовании выражения for в случае когда одноименный массив объявлен как внутри, так и за пределами цикла.

Обратимся к коду:

let animals = ['horse', 'cow', 'dog', 'cat', 'pig'];

for (let i = 0; i < animals.length; i++) {
    let animals = ['fox', 'squirrel'];
    console.log(animals[i]);
}

Итак, у нес есть:

  1. массив animals объявленный до цикла,
  2. цикл, который повторится 5 раз, в соответствии с длиной массива animals,
  3. одноименный массив animals, объявленный уже внутри цикла.

Каждая итерация выводит один элемент массива.

Какой результат мы увидим в консоли?

В соответствии с особенностями языка JavaScript в консоль будут выведены элементы массива animals переопеределенного внутри цикла и содержащего 2 элемента: fox и squirrel.

Однако, цикл будет повторяться 5 раз, в соответствии с длиной первоначально объявленного массива animals.

Недостающие 3 элемента не вызовут ошибку в отличие от других языков программирования, например: Java или C++. Для несуществующих элементов в консоли мы увидим undefined.

Таким образом ответ будет иметь вид:

  • fox
  • squirrel
  • undefined
  • undefined
  • undefined

Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.