Challenge 1 — Solution Task: Create const original = [1, 2, 3]. Create const sameRef = original (no copy) and const shallowCopy = [...original]. Push 4 onto sameRef and 5 onto shallowCopy, then log original, sameRef, and shallowCopy to show the different effects. const original = [1, 2, 3]; const sameRef = original; const shallowCopy = [...original]; sameRef.push(4); shallowCopy.push(5); console.log(original); console.log(sameRef); console.log(shallowCopy); Expected output: [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 5] Notes: - sameRef.push(4) changed original too, since sameRef and original are literally the same array in memory — there was never a copy made at all, just a second name for the same data. - shallowCopy.push(5) only affected shallowCopy, since [...original] created a genuinely separate array — for an array of plain numbers (primitives), a shallow copy is already a fully independent copy. - original never received the 5, confirming shallowCopy really is independent, unlike sameRef.