JavaScript中的True與False

作者 Calpa 日期 2017-02-02 共136字

這幾天用Enki來學習JavaScript,感覺不錯,You can’t handle the truth! 有一些特別True/False例子。這裡簡單記錄一下。

最簡單的測試方法:

1
2
3
4
5
6
7
function test(something){
if (something) {
console.log(something + ' is true.');
} else {
console.log(something + ' is false.');
}
}

例子

Truthy

1
2
3
4
5
6
7
true <- true當然是true...
[1][0]
new Date()
new Number(0)
Object
Infinity
[]

以下都是[object Object]:

1
2
{a: false}
{}

Falsy

1
2
3
4
5
6
7
8
9
10
false <- false當然是false...
undefined
''
""
[1][1] <- undefined
NaN
null
{}.someKey
0
[].length <- 這個是0,所以出false

值得注意的是[],它本身會是true,但如果用[] == true的話會輸出false
[] == false的話會輸出true