typeof、Truthy/Falsy、==と===
typeofを安全に使い、truthy/falsyを見分け、===で値を正しく比較します。
「typeof、Truthy/Falsy、==と===」はCoddyKit上の無料JavaScript Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJavaScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 JavaScript Academyコースには全3レッスンが含まれています。
導入
目標: typeof による型の判別、truthy と falsy の値、== ではなく === を使う場面を学びます。
- typeof の基本
- Truthy と falsy
- 厳密等価

typeof の確認
typeof はプリミティブの確認に適しています。ただし、古くからある特殊な挙動として、typeof null は "object" を返します。
// typeof returns a string describing the type
console.log(typeof 42);
// "number"
console.log(typeof "hi");
// "string"
console.log(typeof true);
// "boolean"
console.log(typeof undefined);
// "undefined"
console.log(typeof 10n);
// "bigint"
console.log(typeof Symbol("x"));
// "symbol"
console.log(typeof null);
// "object" (historic quirk)

Truthyとfalsy(概念)
Falsy な値は、0、-0、0n、""、false、null、undefined、NaNです。それ以外はすべてtruthyです(例: "0"、"false"、[]、{}、function(){})。

Truthyの判定
Boolean(x) または if を使うと、条件の中で値がどのように扱われるかを確認できます。
// Use Boolean(x) or if (x) to test truthiness
console.log(Boolean("0"));
// true (non-empty string)
console.log(Boolean(""));
// false (empty string)
console.log(Boolean([]));
// true (arrays are objects)
console.log(Boolean(0));
// false
console.log(Boolean({}));
// true

等価演算子の落とし穴
== は型変換を行うため、紛らわしい一致が起こります。ほとんどのコードでは使わないでください。
// == performs type coercion: can be surprising
console.log(0 == false);
// true
console.log("" == 0);
// true
console.log(null == undefined);
// true
console.log("5" == 5);
// true (string coerced to number)

厳密等価
型変換なしで予測しやすい比較を行うには、=== と !== を使ってください。
// === compares without coercion: safer and clearer
console.log(0 === false);
// false
console.log("" === 0);
// false
console.log("5" === 5);
// false
console.log(5 === 5);
// true

厳密等価クイズ
クイックチェック: 安全な等価比較です。

まとめ
まとめ: typeof でプリミティブを判別する方法(null には注意)を学び、よく使われる falsy 値を確認し、わかりやすいコードには == より === が適している理由を理解しました。

よくある質問
「typeof、Truthy/Falsy、==と===」レッスンは無料ですか?
はい。「typeof、Truthy/Falsy、==と===」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、JavaScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 JavaScript Academyコースには全3レッスンが含まれています。
「typeof、Truthy/Falsy、==と===」で何を学びますか?
typeofを安全に使い、truthy/falsyを見分け、===で値を正しく比較します。 ブラウザで直接実行するハンズオンコードでJavaScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
JavaScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJavaScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「typeof、Truthy/Falsy、==と===」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJavaScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのJavaScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- PrimitiveとObject、Core Type
- typeof、Truthy/Falsy、==と===
- 型変換:予期しない動作を避ける安全なパターン