0Pricing
JavaScript Academy · レッスン

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、Truthy/Falsy、==と=== — イラスト1

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)
typeof、Truthy/Falsy、==と=== — イラスト2

Truthyとfalsy(概念)

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

typeof、Truthy/Falsy、==と=== — イラスト3

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
typeof、Truthy/Falsy、==と=== — イラスト4

等価演算子の落とし穴

== は型変換を行うため、紛らわしい一致が起こります。ほとんどのコードでは使わないでください。

// == 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)
typeof、Truthy/Falsy、==と=== — イラスト5

厳密等価

型変換なしで予測しやすい比較を行うには、=== と !== を使ってください。

// === 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、Truthy/Falsy、==と=== — イラスト6

厳密等価クイズ

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

typeof、Truthy/Falsy、==と=== — イラスト7

まとめ

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

typeof、Truthy/Falsy、==と=== — イラスト8

よくある質問

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

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

  1. PrimitiveとObject、Core Type
  2. typeof、Truthy/Falsy、==と===
  3. 型変換:予期しない動作を避ける安全なパターン
← JavaScript Academyに戻る