What is nice about this is that you can see that the source array is not mangled, this is not the case with the array splice method that will mutate the array in place. Many built in array prototype methods are like that which is one talking point as to why a lot of developers still like to use lodash over some of this built in methods.
Negative index values can be given to Array.slice this results in the corresponding index value from the end of the length of an array. So then array slice can be used as a quick way of getting the last element of an array by taking advatage of this fact.
So I guess it is slightly more concise then the less one from length trick that I usually use, but that is a major nano pic issue.
So because Array.slice returns a new Array rather than mutating one it can, in some cases, be used as a way to clone an array assuming it is an array of primitive values.
This works because I am working with an array of primitives, objects however are copied by reference. So in these situations using just array slice might not be enough. Some how you will need to preform a shallow or even deep clone of the array first in order to really return something that is separate from the source that can not end up being mangled elsewhere in a body of code. However getting into stuff like that is beyond the scope of this post.
So the array slice prototype method is a way to get a section of an array, without mutating the source array. This is not to be confused with the array spice method that can be use to do the same, only it will mutate the array in place.