Вебсправочник
Справочник JavaScript

pop(): удалить и получить последний элемент массива

Pop удаляет последний элемент и возвращает его значение. Это основная операция для простого стека, где последним добавленный элемент забирается первым.

Назначение

Pop удаляет последний элемент и возвращает его значение. Это основная операция для простого стека, где последним добавленный элемент забирается первым.

Как это работает

Массив сокращается на один элемент, если он не пуст. У пустого массива возвращается undefined. Этот результат нужно отличать от ситуации, когда undefined было настоящим хранимым значением.

Пример

const stack = ["Разметка", "Стили"];
const last = stack.pop();
console.assert(last === "Стили");
console.assert(stack.length === 1);
console.assert(stack.pop() === "Разметка");
console.assert(stack.pop() === undefined && stack.length === 0);
console.log(stack);

Что должно получиться

Значения извлекаются в обратном порядке. После опустошения дополнительный pop не создаёт отрицательную длину и возвращает undefined.

Граница применения и частая ошибка

Pop изменяет исходный массив, поэтому все ссылки на него видят новое содержимое. Если нельзя терять состояние, сначала создайте нужную копию. Для последнего значения без удаления используйте подходящее чтение по индексу или at(-1).

Самостоятельная проверка

Сравните pop и at(-1) на одном массиве. Проверьте случай [undefined] с длиной до и после вызова. Объясните, почему только возвращённое undefined не всегда доказывает, что массив изначально был пуст.

Пример JavaScript проверяйте в собственном учебном файле или консоли своего проекта. Встроенная песочница справочника JavaScript не выполняет. Успешное выполнение в одной среде не гарантирует поддержку метода во всех браузерах.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.