ホームページ >ウェブフロントエンド >jsチュートリアル >undefined==nullによる両者の違いとつながり Page 1/3_javascriptスキル

undefined==nullによる両者の違いとつながり Page 1/3_javascriptスキル

PHP中文网
PHP中文网オリジナル
2016-05-16 19:07:151015ブラウズ

null==unknown と null!==unknown は以前にも見たことがあるような気がしますが、気にしたことはありませんでした。

最近、他人のプログラムのソースコードを見ていたら、随所に if(x!=unknown&x!=null&x!="") のような判定があり、非常に冗長な記述になっていると感じました。 if(x){} は、条件判定では null、unknown、"" が実際には false であるため、なぜこれほど冗長になるのでしょうか。 (ただし、x==0 も正当な値である場合、if(x){} を使用して条件判断を行うことはできないことに注意してください。)

この冗長性を証明するために、私は特別に次のことも行いました。次のテスト:
var a;
alert(x)
if(x==null){
alert('failed')
}

ここで、x は初期化されていない変数、つまり未定義です。
上記のコードを実行すると、「未定義」と「失敗」のポップアップが連続して表示され、x==null が修飾されていることを示します。

alert(null==unknown) を直接実行すると、実際に true が返されることがわかります。

これはすべて、x==null||x==unknown または x!=null&&x!=unknown などの記述が完全に冗長であることを示しています。

一般的には、null か未定義かを判断するだけで済みます。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。