0Pricing
JavaScript Academy · レッスン

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Truthy と Falsy の値
  2. 緩い等価比較と厳密等価比較
  3. 演算における暗黙の型変換
  4. 明示的な型変換の方法
← JavaScript Academyに戻る