KeyofとLookup Types
既存の型からキーやプロパティを抽出・参照し、動的で再利用可能な型定義を作成する方法を学びます。
「KeyofとLookup Types」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全3レッスンが含まれています。
keyofとルックアップ型入門
TypeScriptのkeyofとルックアップ型を使うと、既存の型のキーやプロパティを動的に扱えます。
オブジェクトから型を参照して取り出せるため、コードの柔軟性と再利用性が向上します。

keyofとは何ですか
keyof演算子は、オブジェクト型が持つすべてのキーからなる型を作成します。
例:
type Person = {
name: string;
age: number;
};
type PersonKeys = keyof Person;ルックアップ型とは何ですか
ルックアップ型では、角かっこ[]を使って、オブジェクトの特定のプロパティの型を取得します。
例:
type Person = {
name: string;
age: number;
};
type NameType = Person['name'];keyofとルックアップ型の組み合わせ
keyofとルックアップ型を組み合わせると、動的で再利用可能な型制約を作成できます。
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}keyofとルックアップ型の使用例
一般的な使用例には、次のようなものがあります:
- 動的なAPIの作成。
- オブジェクトへの型安全なプロパティアクセス。
- 型制約によるコードの柔軟性の向上。
実践例
keyofとルックアップ型を組み合わせた実践的な例を見てみましょう:
type User = {
id: number;
username: string;
};
function printKey<T, K extends keyof T>(obj: T, key: K): void {
console.log(`${key}: ${obj[key]}`);
}
const user: User = { id: 1, username: 'John' };
printKey(user, 'username');keyofとルックアップ型を使う利点
これらの機能には、次のような利点があります:
- 型安全性を保った動的なプロパティアクセス。
- 再利用可能で拡張性の高いコード。
- コンパイル時のエラー防止の向上。
練習課題
keyofとルックアップ型を使って、userオブジェクトからプロパティに動的にアクセスする関数を作成してください。実際に試してみましょう。
keyofとルックアップ型の復習
おめでとうございます!
keyofとルックアップ型を使って、コードを動的かつ型安全にする方法を学びました。練習を続けて、TypeScriptの高度な機能を使いこなしていきましょう。

AI チューターと学ぶ TypeScript — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 101
- レッスン
- 352
よくある質問
「KeyofとLookup Types」レッスンは無料ですか?
はい。「KeyofとLookup Types」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全3レッスンが含まれています。
「KeyofとLookup Types」で何を学びますか?
既存の型からキーやプロパティを抽出・参照し、動的で再利用可能な型定義を作成する方法を学びます。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
TypeScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。
「KeyofとLookup Types」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTypeScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- KeyofとLookup Types
- Mapped Types
- Intersection TypesとUnion Types