変数が ではないかどうかを確認する JavaScript の 2 つの方法を以下に示しますが、どちらnull
を使用するのがベスト プラクティスであるか混乱しています。
私はすべきですか:
if (myVar) {...}
また
if (myVar !== null) {...}
変数が ではないかどうかを確認する JavaScript の 2 つの方法を以下に示しますが、どちらnull
を使用するのがベスト プラクティスであるか混乱しています。
私はすべきですか:
if (myVar) {...}
また
if (myVar !== null) {...}
それらは同等ではありません。1 つ目は、is trueyif
の場合(つまり、条件付きで評価される場合) に続くブロックを実行し、2 つ目は、が 以外の値である場合にブロックを実行します。myVar
true
myVar
null
JavaScript で真実ではない唯一の値は次のとおりです (別名偽値):
null
undefined
0
""
(空の文字列)false
NaN
変数が NULL でないかどうかをテストする方法は次のとおりです。
if (myVar !== null) {...}
ブロックは、myVar が null でない場合に実行されます。myVar が undefined または false または0
その他の場合に実行されNaN
ます。
この投稿を読んでください: http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/
一般的にJavaScriptに関するいくつかの素晴らしいヒントがありますが、言及されていることの1つは、次のようにnullをチェックする必要があることです。
if(myvar) { }
また、あなたが気付かないかもしれない「虚偽」と見なされるものについても言及しています。
if(myVar) { code }
場合にのみ実行されません:または変数を定義したことがない(さらに、コードは実行を停止し、例外をスローします)。myVar
false, 0, "", null, undefined, NaN
myVar
if(myVar !== null) {code}
場合にのみ実行されません(例外をスローします)。myVar
null
ここにすべてがあります ( src )
もしも
== (その否定!= )
=== (その否定!== )
私が遭遇した別の可能なシナリオがあります。
私は ajax 呼び出しを行い、データを文字列形式で null として返しました。次のように確認する必要がありました。
if(value != 'null'){}
したがって、null は、実際には null ではなく、"null" と読み取られる文字列でした。
編集:これを行うべき方法として販売していないことを理解する必要があります。これが唯一の方法であるというシナリオがありました。理由はわかりません...おそらくバックエンドを書いた人がデータを間違って提示していたのでしょうが、とにかく、これは現実です。これが正しくないことを理解している人によって反対票を投じられ、実際に役立つ誰かによって賛成票を投じられるのを見るのはイライラします.
ここにリストした 2 つの条件ステートメントは、互いに優れているわけではありません。使い方は状況によって異なります。ちなみに、2番目の例にはタイプミスがあります。感嘆符の後に等号を 1 つだけ付ける必要があります。
最初の例では、myVarの値が true かどうかを判断し、{...}内のコードを実行します。
2 番目の例では、 myVarが null と等しくないかどうかを評価し、その場合が true の場合、{...}内でコードを実行します。
より多くのテクニックについては、条件ステートメントを調べることをお勧めします。それらに慣れたら、いつそれらが必要になるかを判断できます。