インターセクション型:AかつB
& で型を組み合わせ、プロパティを統合します。
「インターセクション型:AかつB」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。
はじめに
交差型の基本構文
type Named = { name: string };
type Aged = { age: number };
type Person = Named & Aged;
const alice: Person = { name: 'Alice', age: 30 };すべてのプロパティが必須
type A = { x: number };
type B = { y: number };
type AB = A & B;
// const p: AB = { x: 1 }; // Error — missing yオブジェクト型の結合
type Serializable = { serialize(): string };
type Loggable = { log(): void };
type Service = Serializable & Loggable;交差型と extends の比較
// Interface extend:
interface C extends A, B {}
// Intersection type:
type D = A & B;
// Both give the same shape for simple objects型が競合する場合の交差型
type X = { id: string };
type Y = { id: number };
type XY = X & Y;
// XY.id is string & number = never — impossible!関数パラメーターの交差型
function process(item: Serializable & Loggable): void {
item.log();
console.log(item.serialize());
}交差型によるMixinパターン
type Timestamped<T> = T & { createdAt: Date };
type User = Timestamped<{ name: string; email: string }>;プリミティブ型の交差は never に収束する
type T = string & number; // never — a value can't be both交差型とユニオンの核心的な違い
ジェネリクスで交差型を使う
type WithId<T> = T & { id: number };
const user: WithId<{ name: string }> = { id: 1, name: 'Alice' };確認問題
まとめ
よくある質問
「インターセクション型:AかつB」レッスンは無料ですか?
はい。「インターセクション型:AかつB」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。
「インターセクション型:AかつB」で何を学びますか?
& で型を組み合わせ、プロパティを統合します。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
TypeScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「インターセクション型:AかつB」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTypeScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ユニオン型:AまたはB
- インターセクション型:AかつB
- 安全なパターンマッチングのための判別可能なユニオン
- ユニオンとインターセクションの実践パターン