Truthy (真値)
JavaScript において、真値 (truthy) とは、論理値のコンテキストに現れた時に true とみなされる値のことです。偽値 (falsy) として定義された値(つまり、false, 0, -0, 0n, "", null, undefined, NaN, document.all)を除くすべての値は真値です。
JavaScript は、論理値のコンテキストでは型変換を用います。
JavaScript における真値の例です(論理値のコンテキストではこれらの値を true と評価し、if ブロックを実行します)。
js
if (true);
if ({});
if ([]);
if (42);
if ("0");
if ("false");
if (new Date());
if (-42);
if (12n);
if (3.14);
if (-3.14);
if (Infinity);
if (-Infinity);
最初のオペランドが真値である場合、論理 AND 演算子は 2 つ目のオペランドを返します。
js
true && "dog";
// "dog" を返す
[] && "dog";
// "dog" を返す