mutation
Array.prototype.pop
Removes the last element from the array and returns it (or undefined if empty). Reach for it to consume the tail of a list — the natural pair to push for stack behavior.
arr.pop() Parameters
| Parameter | Purpose |
|---|---|
| (no parameters) | Takes no arguments |
| return value | The removed element, or undefined if the array was empty |
Examples
const a = [1, 2, 3]; console.log(a.pop()); Logs: 3
const a = [1, 2, 3]; a.pop(); console.log(a); Logs: [1, 2]
console.log([].pop()); Logs: undefined
const stack = []; stack.push(1); stack.push(2); console.log(stack.pop(), stack.pop()); Logs: 2 1 (LIFO)
Gotcha
MUTATES the source. Returns undefined on empty arrays — don't confuse an empty-array pop with a stored undefined value.
Related methods
Array.prototype.push
Appends one or more elements to the end of the array and returns the new length. Reach for it to grow a list — it's the canonical "add to the end" call.
Array.prototype.shift
Removes the first element from the array and returns it, reindexing every remaining element. Reach for it to consume the head of a list — the natural queue operation.
Array.prototype.splice
Removes and/or inserts elements at any position in the array, returning the removed items. Reach for it to do insert/delete/replace edits in one call.
Array.prototype.unshift
Prepends one or more elements to the front of the array and returns the new length. Reach for it to insert at the head — but be aware every existing item is reindexed.