ユニオン型:AまたはB
| を使って複数の型の可能性を許可します。
「ユニオン型:AまたはB」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。
ようこそ
基本的なユニオン構文
let id: string | number;
id = 'abc123'; // OK
id = 42; // OK
// id = true; // Error関数パラメーターのユニオン型
function format(val: string | number): string {
return typeof val === 'string' ? val.toUpperCase() : val.toFixed(2);
}ユニオンの各メンバーには絞り込みが必要
function process(val: string | number) {
// val.toFixed(2); // Error — not on string
if (typeof val === 'number') {
val.toFixed(2); // OK
}
}リテラル型とのユニオン
type Direction = 'north' | 'south' | 'east' | 'west';
type StatusCode = 200 | 201 | 400 | 404 | 500;null許容型のユニオン
function getUser(id: number): User | null {
return db.find(u => u.id === id) ?? null;
}オブジェクト型のユニオン
type Cat = { kind: 'cat'; meow(): void };
type Dog = { kind: 'dog'; bark(): void };
type Pet = Cat | Dog;
function speak(pet: Pet) {
if (pet.kind === 'cat') pet.meow();
else pet.bark();
}3つ以上の型によるユニオン
type Input = string | number | boolean | null;戻り値の型のユニオン
function divide(a: number, b: number): number | null {
if (b === 0) return null;
return a / b;
}判別可能なユニオン
type Square = { kind: 'square'; side: number };
type Circle = { kind: 'circle'; radius: number };
type Shape = Square | Circle;絞り込みなしで共通プロパティを使う
type A = { name: string; x: number };
type B = { name: string; y: number };
type AB = A | B;
function getName(obj: AB): string {
return obj.name; // OK — name is on both
}確認問題
まとめ
よくある質問
「ユニオン型:AまたはB」レッスンは無料ですか?
はい。「ユニオン型:AまたはB」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。
「ユニオン型:AまたはB」で何を学びますか?
| を使って複数の型の可能性を許可します。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
TypeScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「ユニオン型:AまたはB」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTypeScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。