ECMAScript 之 Truthy 與 Falsy Value
栏目: JavaScript · 发布时间: 6年前
内容简介:ECMAScript 除了有ECMAScript 5會自動轉型為
ECMAScript 除了有 Boolean
Primitive Type 外,還有獨特的 Truthy Value 與 Falsy Value 概念;簡單的說,其他 type 也能自動轉成 Boolean,這使得 if
與 &&
與 ||
有了更多的應用。
Version
ECMAScript 5
Falsy Value
會自動轉型為 false
的值
以下 6 種值會視為 Falsy Value:
- Boolean :
false
- Empty String :
''
- Empty Number :
0
,NaN
- Non-Value :
null
、undefined
false
視為 Falsy Value 理所當然,但剩下 5 種也視為 Falsy Value 就比較特別。
Truthy Value
會自動轉型成 true
的值
除此以上 6 種外,剩下都是 Truthy Value:
- Boolean :
true
- Non Empty String :
'foo'
- Non Empty Number :
42
、 - Object :
{}
、{name: 'Sam'}
- Array :
[]
、[1, 2, 3]
其中有幾個比較特別:
Infinity
無論是 Infinity
或 -Infinity
,都是 Truthy Value。
Object
所有 object
,只要不是 null
都是 Truthy Value,無論是 empty object {}
,或 non-empty object {name: 'Sam'}
!!
會將任意值轉成 Boolean。
Array
所有 array 都是 Truthy Value,無論是 empty array []
,或 non-empty array 都是 true
。
Conclusion
- 大體上
空值
都是 Falsy Value,但有兩個特別:empty object 與 empty array 都是 Truthy Value
Reference
以上所述就是小编给大家介绍的《ECMAScript 之 Truthy 與 Falsy Value》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。