関数が何も明示的に返さないときに、良い練習ではないのはなぜvoid(0)ですか?関数が何も返さないときにvoid(0)を使う
function someFunc(a) {
// do some stuffs
return void(0);
}
これはデバッグ時に非常に役立ちます。
ありがとうございました。
関数が何も明示的に返さないときに、良い練習ではないのはなぜvoid(0)ですか?関数が何も返さないときにvoid(0)を使う
function someFunc(a) {
// do some stuffs
return void(0);
}
これはデバッグ時に非常に役立ちます。
ありがとうございました。
void(0)
はundefined
に解決されるため、「なぜundefined
を関数から返すのは良い考えではないのですか?」 undefined
の代わりにvoid(0)
を使用すると、おそらく比較的難しい考えです。なぜなら、それはundefined
よりも複雑であまり明確ではないからです。プログラマーとしての私たちの目標は、他の人が読んで理解するためのシンプルで読みやすいコードを作ることです。
同じ理由から、undefined
を関数から明示的に返すことは悪い考えであり、不必要な複雑さをもたらします。 typeof undefined
はundefined
と評価されます。これにより、筆記テストがより難しくなり、関数の目的について、たとえばfalse
を返すよりも少ない洞察が得られます。
私はその使用法を否定していませんが、 'void(0)'が存在する理由の1つは、 'undefined'を常に上書きできるということです。 –
私はあなたが間違っていると思うHimmel、ボールド(0)を使用する方が良いです.Cory氏によると、未定義の古いブラウザでは互換性のない問題があるためです。 –
'void(0)'は、値を返すときに 'undefined'と同等です。これらの変数のいずれかが変数に割り当てられている場合は、両方の変数を任意の値で上書きできます。 – Himmel
私は単純すぎるかもしれませんが、 'void(0)'は 'undefined'と評価されます。明示的なreturn文(または単に 'return;')なしで定義された関数は、暗黙的に 'undefined'を返します。したがって、明示的な戻りは冗長です。 http://stackoverflow.com/questions/20915450/why-javascript-functions-always-return-a-valueをご覧ください。 –
yeapだが、これは重複しているとは思わないが、原因はデバッグだと思う?関数は常に何かを返すので、これは助けになるだろう、わからない、多分私は間違っている。 –
'関数someFunc(a){}'と 'function someFunc(a){return; } 'と' function someFunc(a){return void(0);}を返します。 } 'はすべて機能的に同等です。私はそれがどのように動作するかを知ると、明示的な返信文を使わずに、最短のバージョンを快適に使用することができます。 –