JavaScript

リファレンス

いいリファレンス無いかな

ライブラリ


最新情報を入手するには

勉強会とか

疑問


Array.prototype.slice.call(arguments) って何?

Array.prototype.slice.call(arguments) というのは Arguments オブジェクトを配列に変換するための決まり文句のようなものです。Array オブジェクトの slice メソッドは、配列の一部を抜き出し新たな配列として返しますが、引数を省略すると 0 番目から length - 1 番目までの要素を抜き出したもの、すなわち元の配列全体のコピーを返します。これを Arguments オブジェクトに適用することで、Arguments オブジェクト全体をコピーした配列が返ってくるというわけです。

Argumentsオブジェクトは一見配列に見えるけど実は配列ではない。
実際はlengthプロパティを持った配列っぽいオブジェクト。
その配列っぽいオブジェクトを本物の配列に変えるのがこのやり方。

console.log( Array.prototype.slice.call(arguments) );
などとすることで、console.logに配列を渡して見やすく表示できる。


参考

Comments