JavaScript/truthy
「truthy
」は、JavaScriptにおいて、真偽値(boolean)の文脈で true
と評価される値のことを指します。falsy
とは反対に、真とみなされる値のグループです。ECMAScript仕様で厳密に定義された用語ではありませんが、開発者の間で広く使われています。
truthyな値の例
falsy
な値(false
, 0
, -0
, 0n
, ""
, null
, undefined
, NaN
)以外のすべての値はtruthy
です。具体的には以下のようなものがあります。
true
: 真偽値の真"hello"
: 空ではない文字列1
,-1
,3.1415926536
: ゼロ以外の数値{}
: 空のオブジェクト[]
: 空の配列function(){}
: 関数Infinity
,-Infinity
: 無限大
truthyな値の利用場面
truthy
な値は、falsy
な値と同様に、主に条件分岐の際に利用されます。if
文や三項演算子などで、条件式がtruthy
な値と評価された場合、その条件は真とみなされます。
if ("hello") { // このブロックは実行される } if (1) { // このブロックも実行される } if ({}) { //このブロックも実行される。 }
注意点
- 空のオブジェクト
{}
や空の配列[]
もtruthy
な値として評価されることに注意が必要です。 "false"
という文字列は、false
という値ではなく、空ではない文字列であるため、truthy
な値として評価されます。
truthy
とfalsy
の概念を理解することで、JavaScriptの条件分岐をより柔軟に記述することができます。