1

多くの初心者プログラマーは、条件に比較を含める必要はなく、単なるブール値であることをまだ理解していないため、 likeif (myBoolean == true)とは対照的にものを作成します。if (myBoolean)これを Twitter で指摘したとき、JavaScript にはこれを行う正当な理由があるのではないかと示唆されました。ある?JavaScript の型が奇妙であることは誰もが知っていますが、Google はこの特定の点について答えを出していません。

更新: 違いはないようですが、if (myBoolean === true). 質問を明確にするために、JavaScript でのベスト プラクティスは何でしょう if (myBoolean === true) または if (myBoolean)。現実世界のどのシナリオ=== trueで、ブール値であるかわからないものをチェックしますか? このフォローアップの質問に答えてください:なぜ JavaScript で if (myBoolean === true) を使用するのが良い方法なのですか?

4

2 に答える 2

7

いいえ。

非厳密な等価演算子を使用しているため、次の間にまったく違いはありません。

if (myBoolean == true)

と:

if (myBoolean)

===ただし、厳密な等価演算子を使用していて、myBoolean実際にはブール値でない場合は違いがあります。

于 2012-11-06T11:36:53.240 に答える
2

真実の性質を持つものではなく、実際のブール値 (true/false) をチェックする場合は、true または falseと比較して時間を無駄にしないでください。

ステートメントが読めるようにisFinished、変数はブール値のように名前を付ける必要があります。hasMoreRecords

if (!finished) ...
if (moreRecordsLeft) ...
if (userHasLostTheirSanity) ...

等々。

ブール値を true/false と比較する際の問題は、別のブール値を生成するだけであり、停止する決定的な場所がないことです。

if (!((userIsMad == true) == true) = false) ...
于 2012-11-06T11:44:16.403 に答える