一般的に次の文構造における真と偽の判断が必要となります
- 分岐if文
- whileループ
- 第二文のための
として
1
2
3
4
5
6
7
|
if
(boo) {
// do something
}
while
(boo) {
// do something
}
|
JavaScriptは6は、この値は6である「偽」であるました
- 偽
- ヌル
- 未定義
- 0
- 「」(空文字列)
- NaNの
他の5つがありませんが、ブール型であり、それ自体で偽があります。
これらの6つに加えて、他のオブジェクト、配列、正規、機能などを含む、「真」です。'0'、 'NULL'、 '偽'、{}、[]も真の値であることに留意されたいです。
これら6つの値が「偽」であるが、それらはすべて同じように間ではありません
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
console.log(
false
==
null
)
// false
console.log(
false
== undefined )
// false
console.log(
false
== 0 )
// true
console.log(
false
==
''
)
// true
console.log(
false
== NaN )
// false
console.log(
null
== undefined )
// true
console.log(
null
== == ==undefined )
// false
console.log(
null
== 0 )
// false
console.log(
null
==
''
)
// false
console.log(
null
== NaN )
// false
console.log( undefined == 0)
// false
console.log( undefined ==
''
)
// false
console.log( undefined == NaN)
// false
console.log( 0 ==
''
)
// true
console.log( 0 == NaN )
// false
console.log(NaNの== NaNの)//偽
|
「==」については、次のような結論を導き出す以上
- 比較も真である「」、falseに加えて、その外側の真の比較、および0
- nullとundefined比較のみが真で、順番に、唯一未定義とnullを比較が真であるが、何の目はありません
- 0と真である偽の比較に加えて、空の文字列「」と空の配列を[あります]
- 空の文字列「」と偽の比較に加えて、が真である、数0偽があります
- NaNは等しくないと誰自体は含ま比較します。