Standard methods like `sort()` and `splice()` mutate the source array in place. Modern JavaScript provides non-mutating counterparts: `toSorted()`, `toReversed()`, `toSpliced()`, and `with()` which return fresh copies.
js const blocks = [300, 100, 200]; const sorted = blocks.toSorted((a, b) => a - b); // [100, 200, 300], blocks unchanged const updated = blocks.with(0, 400); // [400, 100, 200]