Truthy と Falsy の値
どの値が true または false として評価されるかを理解します。
「Truthy と Falsy の値」はCoddyKit上の無料JavaScript Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJavaScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 JavaScript Academyコースには全4レッスンが含まれています。
TruthyとFalsy
if文のようなbooleanコンテキストでは、すべてのJavaScriptの値がtruthyまたはfalsyのどちらかとして扱われます。Falsyの値はfalseのように振る舞い、それ以外の値はtruthyです。
if ("hello") {
console.log("strings are truthy")
}Falsyの一覧
Falsyの値は正確に8つあります。リストにない値はすべてtruthyなので、覚えておきましょう。
- false
- 0と負の0
- 空文字列
- null
- undefined
- NaN
- 0のBigInt
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(null))0はFalsy
数値の0はfalsyですが、負の数を含むそれ以外の数値はすべてtruthyです。
console.log(Boolean(0))
console.log(Boolean(-5))
console.log(Boolean(0.1))空文字列はFalsy
空文字列はfalsyですが、スペースを含む文字列やfalseというテキストは空ではないためtruthyです。
console.log(Boolean(""))
console.log(Boolean(" "))
console.log(Boolean("false"))NullとUndefined
nullとundefinedはどちらもfalsyです。どちらも値が存在しないことを表します。
console.log(Boolean(null))
console.log(Boolean(undefined))NaNはFalsy
無効な数値演算の結果であるNaNはfalsyです。これにより、booleanチェックで変換の失敗を検出できます。
console.log(Boolean(NaN))
console.log(Boolean(Number("abc")))オブジェクトは常にTruthy
空のオブジェクトや配列であっても、すべてのオブジェクトと配列はtruthyです。空の配列はfalsyだと思っている開発者にとって、これは意外な点です。
console.log(Boolean({}))
console.log(Boolean([]))Booleanへの変換
二重否定演算子を使うと、if文と同じように、任意の値を対応するboolean値へ簡潔に変換できます。
console.log(!!"text")
console.log(!!0)
console.log(!![])条件でTruthyを利用する
値が存在しないかどうかを確認するために、truthyかどうかを利用することがよくあります。空文字列、null、undefinedはいずれもifの分岐をスキップします。
function greet(name) {
if (name) {
return "Hi " + name
}
return "Hi guest"
}
console.log(greet(""))
console.log(greet("Ann"))Orによるデフォルト値
論理OR演算子は、最初に現れるtruthyのオペランドを返すため、デフォルト値を指定する典型的な方法です。ただし、0や空文字列もデフォルト値を有効にする点に注意してください。
const input = ""
const value = input || "default"
console.log(value)NullishとFalsyの違い
null合体演算子はnullまたはundefinedの場合にだけ代替値に切り替わり、0のような他のfalsy値では切り替わりません。そのため、数値のデフォルト値にはより安全です。
const count = 0
console.log(count || 10)
console.log(count ?? 10)クイックチェック
truthyとfalsyについての知識を確認してみましょう。
まとめ
まとめ:Falsyの値は8つあり、それ以外はすべてtruthyです。
- Falsy:false、0、空文字列、null、undefined、NaN、0のBigInt
- 空のオブジェクトと配列はtruthyです
- 二重否定でbooleanに変換できます
- null合体はnullとundefinedだけを確認します
console.log(Boolean([]))
console.log(Boolean(0))よくある質問
「Truthy と Falsy の値」レッスンは無料ですか?
はい。「Truthy と Falsy の値」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、JavaScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 JavaScript Academyコースには全4レッスンが含まれています。
「Truthy と Falsy の値」で何を学びますか?
どの値が true または false として評価されるかを理解します。 ブラウザで直接実行するハンズオンコードでJavaScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
JavaScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJavaScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Truthy と Falsy の値」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJavaScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのJavaScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Truthy と Falsy の値
- 緩い等価比較と厳密等価比較
- 演算における暗黙の型変換
- 明示的な型変換の方法