Многие начинающие, а иногда и опытные разработчики, сталкиваются с вопросом: что будет, если попытаться обратиться к элементу массива по отрицательному индексу, например arr[-1]? Будет ли это ошибкой? Вернёт ли JavaScript последний элемент, как в языке Python? Давайте разберёмся на простых примерах. Технически — да. Синтаксической ошибки не произойдёт. Однако вести себя JavaScript будет совсем не так, как ожидают многие новички, особенно после перехода с Python. Создадим простой массив с фруктами: let fruits = ["яблоко", "банан", "апельсин"]; Если мы напишем fruits[-1], то ожидаем увидеть «апельсин» (последний элемент). Но на самом деле JavaScript вернёт undefined — то есть «значение не определено». Почему так происходит? Потому что в JavaScript массив — это частный случай обычного объекта. Индексы, такие как 0, 1, 2, на самом деле являются просто именами свойств. А свойство с именем «-1» у нашего массива не существует. Для интерпретатора fruits[-1] — это то же самое, что fruits["-1"].
Отрицательный индекс массива в JavaScript: допустимо ли это и зачем может пригодиться
СегодняСегодня
14
3 мин