0

私は Javascript でアプリを書いています。この言語には慣れていますが、未使用のパラメーターについて疑問に思っていました。

次のような関数があるとします。

function test(data, complete){
    if (data){
        return complete(null, 'yes');
    }
    else{
        return complete('error', null);
    }
}

私はコールバックでその関数を呼び出しますが、エラーをチェックすることだけに関心があります。データが存在する場合は、プログラムを進めることができます。エラーパラメータを関数に渡すだけでいいですか?

test(data, function(err){
    if(err){
        //Uh Oh
    }
    else{
        //Keep going
    }
});

それとも、エラーと結果の両方を渡すのが最善ですか (結果変数は未使用のままですが)?

test(data, function(err, result){
    if(err){
        //Uh Oh
    }
    else{
        //Keep going
    }
});
4

2 に答える 2

4

エラーパラメータを関数に渡すだけでいいですか?

はい。明示的な値を受け取らない引数は、undefined代わりに受け取ります (ただし、引き続き存在し、ローカルにスコープされるため、より広いスコープから同じ名前の変数を引き続きマスクします)。

余談ですが、追加の引数は、配列のようなargumentsobjectを介して引き続きアクセスできます。

于 2013-05-01T15:10:19.400 に答える
2

それは問題ではありません。

関数の引数は、ローカル変数を作成するためにのみ使用されます。
宣言方法に関係なく、任意の数のパラメーターを任意の関数に渡すことができます。

于 2013-05-01T15:09:35.317 に答える