読者です 読者をやめる 読者になる 読者になる

引数を配列で取得する方法

今後、プログラミングで気が付いたことをメモ書きとして記述していこうと思う。こういうのは見つけてもすぐ忘れてしまうので…。

JavaScriptの関数の引数を配列で取得したい場合、「関数名.arguments」を使用すれば良い。以下の例は、全ての引数をalertで表示している。

test(1,2);
function test( prm1, prm2, prm3 ){
	// 結果は1,2のみalertで表示される
	for( var i = 0; i< test.arguments.length; i++ ){
		alert( test.arguments[i] );
	}
}

余談だが、指定していない引数を「undefined」ではなく、「false」として扱いたい場合、「!!」を付ければ、「false」に変わってくれる。

test(1,2);
function test( prm1,prm2,prm3 ){
	if( !!test.arguments[2] == false )
		alert( '第三引数はfalseまたは無い' );
}

ただ、以下の3回の呼び出しは同じ結果になるため、引数に指定される値の可能性によっては、気をつけたほうが良い。

test(1,2);
test(1,2,false);
test(1,2,0);
function test( prm1,prm2,prm3 ){
	if( !!test.arguments[2] == false )
		alert( '第三引数はfalseまたは無い' );
}