According the MDN documentation calling array.slice()
will create a shallow copy of the array.
See this MDN link for slice().
However, if I run a simple test as such in the console:
var test = [[1,2,3],7,8,9];
var shallow_copy = test.slice();
and inspect shallow_copy, I can see that the entire 2 dimensional array appears to be copied over.
What is the difference between a shallow copy and a deep copy? If I were to guess, I would have called this a deep copy.