JavaScriptのargumentsオブジェクトは配列じゃないのか。。 #javascript #js

JavaScriptでargumentsオブジェクトは配列っぽいけど配列ではないらしい。 なので配列のメソッド呼ぼうとしてもエラーになる。

ES2015以前

Array.prototype.slice.call で配列に変換してあげるのがよいっぽい。

var args = Array.prototype.slice.call(arguments);

でもsliceするわけじゃないのに、sliceでやるのって違和感。。

ES2015以降

Array.from を使うのがよいみたい。
これは分かりやすくて良い。

let args = Array.from(arguments);

参考