Images are reused AI-generated editorial illustrations, not documentary photographs or verified product screenshots.
Append to a JavaScript array only after deciding whether the original collection should change, and check the operation's return value. Decide whether the original collection should change before choosing push, spread or another operation.
Append to a JavaScript array with push
items.push(value) adds an element at the end of the array and returns the new length. Assigning that return value back to items is usually a mistake when the variable should remain an array. Push can add several arguments in one call.

Choose a new array when mutation is unwanted
A construction such as [...items, value] creates a new outer array. This can fit code that expects replacement rather than mutation, but it is a shallow copy: existing object elements are still shared references. Appending another array as one value is different from appending its individual elements.
Review type and downstream assumptions
Confirm that items is an array and that the new element matches the expected schema. Check any UI or state-management requirements for detecting changes. A successful append does not validate unique identifiers, business rules or safe rendering of the inserted text.
A practical checklist
- Decide whether mutation is intended.
- Remember that push returns a number.
- Distinguish one nested array from several elements.
- Account for shallow copying.
- Validate new records before display.
Worked example
Illustrative example: const items = ['A']; const size = items.push('B') leaves items containing A and B, while size equals 2. If the interface needs a replacement collection, [...items, 'C'] creates a new outer array without making deep copies of any object records.

Common questions
Does push return the changed array? No; it returns the new length. Does spread clone every nested object? No. Does push(otherArray) append each of its elements? No; it appends the array as one element unless deliberately expanded.
What to do next
Test the append operation's collection and return value separately. Keep validation and duplicate-record rules outside the assumption that adding an element makes it ready for use.
