1. Mozilla Developer Network (MDN) Web Docs
Array.prototype.slice(): "The slice() method returns a shallow copy of a portion of an array into a new array object selected from start to end (end not included) where start and end represent the index of items in that array. The original array will not be modified." (Section: "Return value").
2. Mozilla Developer Network (MDN) Web Docs
Array.from(): "The Array.from() static method creates a new
shallow-copied Array instance from an iterable or array-like object." (Section: "Description").
3. Mozilla Developer Network (MDN) Web Docs
Array.prototype.sort(): "The sort() method sorts the elements of an array in place and returns the reference to the same array
now sorted. The default sort order is ascending..." (Section: "Return value").
4. Eloquent JavaScript
3rd Edition by Marijn Haverbeke (a resource used in many university curricula): "Objects and arrays
on the other hand
are stored differently... When you copy a variable that holds an object
you are copying the reference to that object
not the object itself... If you want to create a new array with the same elements
you can use the slice method with no arguments." (Chapter 4: Data Structures: Objects and Arrays
Section: "Objects and arrays are mutable").