in the second you get [[true, true, undefined, false, null]]
and it is not a copy as if you make changes to thatArray[0] than also thisArray is affected
it is a pretty important thing that it doesn’t affect the original.
Also note that this works to copy only flat arrays, it doesn’t work if you need to copy multi-dimensional arrays, there you would need something different
here a visualization of what’s happening (made with pythontutor):