引数が JavaScript 関数に渡されたかどうかを判断するための 2 つのメソッドを見てきました。ある方法が他の方法よりも優れているのか、それとも使い方が悪いだけなのか疑問に思っています。
function Test(argument1, argument2) {
if (Test.arguments.length == 1) argument2 = 'blah';
alert(argument2);
}
Test('test');
または
function Test(argument1, argument2) {
argument2 = argument2 || 'blah';
alert(argument2);
}
Test('test');
私が知る限り、どちらも同じ結果になりますが、以前は最初のものしか本番環境で使用していませんでした。
トムが言及した別のオプション:
function Test(argument1, argument2) {
if(argument2 === null) {
argument2 = 'blah';
}
alert(argument2);
}
Juan のコメントによると、Tom の提案を次のように変更することをお勧めします。
function Test(argument1, argument2) {
if(argument2 === undefined) {
argument2 = 'blah';
}
alert(argument2);
}