javascript interview question #49

Изменится ли длина массива? Что появится в консоли?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

У всех JavaScript массивов есть функция push. Ее используют для добавления новых элементов в массив:

const arr = [ 1, 2 ];

arr.push(3);   // [ 1, 2, 3]
arr.push(500); // [ 1, 2, 3, 500]

Доступ по индексу можно использовать для чтения или изменения элементов массива.

const arr = [ 1, 2 ];

arr[0] = 123;

console.log(arr); // [ 123, 2]

Но что если длина массива 4, а мы пытаемся “изменить” шестой элемент?

JavaScript в таких случаях очень либерален и позволяет нам выстрелить себе в ногу. Элемент будет добавлен, к тому же изменится и длина массива.

Код с дополнительным логированием:

const arr = [ 1, 2, 3, 4 ];
arr[5] = 'Hello, world!';

console.log(arr); // [ 1, 2, 3, 4, <1 empty item>, 'Hello, world!' ]
console.log(arr.length); // 6

ОТВЕТ: Длина массива изменится и в консоли появится число 6.