The Mozilla javascript documentation on the arguments object contains the following warning:
You should not slice on arguments because it prevents optimizations in JavaScript engines (V8 for example).
First what does it mean by slicing "on" arguments. I presume it means:
var args = Array.prototype.slice.call(arguments);
Which is the example they give for creating an array representing the arguments object. But it seems odd to provide the code to do it and then immediately warn "you should not do that".
What sort of optimizations does this prevent? Does it just affect the performance of the method, or does it cause some kind of rippling effect that degrades the application? Will it really matter anyway in a typical application? I wish they hadn't put that warning in as I suspect I would be perfectly happy not knowing.