Core > arguments
関数のローカル変数arguments
by s_hiroshi
JavaScript
(function() {
// 実引数の情報を持つargumentsオブジェクトは配列に似たオブジェクト。
// 実引数へ配列のようにarguments[0], arguments[1], ... , arguments[N]でアクセスできる。
// ただし配列ではないので配列のメソッドを持たない。
console.log(arguments[0]); // foo
// console.log(arguments.contact(['hoge'])); // TypeError contact is not a function
console.log(arguments instanceof Array); // false
// Array.slice.callでargumentsを配列へ変換
var argumentsArray = Array.prototype.slice.call(arguments);
console.log(argumentsArray instanceof Array); // true
// argumentsArrayは配列なので配列のメソッドを使える。
console.log(argumentsArray.concat(['hoge'])); // ["foo", "bar", "hoge"]
}('foo', 'bar'));