ホームページ >ウェブフロントエンド >jsチュートリアル >インターフェイスではなくタイプを選択する理由
TypeScript では、オブジェクトの型を定義するために型とインターフェイスの両方が使用されます。ただし、用途や機能は異なります。どちらも、開発者がコードを記述するときに変数とオブジェクトの型を制限するのに役立ち、それによってエラーが減り、コードの読みやすさが向上します。
では、なぜ型を使うのでしょうか?これについて話し合いましょう。
TypeScript では、型を使用してデータの形状を定義できます。柔軟性があり、結合や交差などの作成に使用できます。
type User = { name: string; age: number; }; type Admin = User & { isAdmin: boolean; };
インターフェイスは、オブジェクトの形状を定義するもう 1 つの方法です。これは型よりも厳密であり、主にオブジェクトの形状とクラス コントラクトを定義するために使用されます。
interface User { name: string; age: number; } interface Admin extends User { isAdmin: boolean; }
共用体タイプでは、複数のタイプのうちの 1 つとなるタイプを定義できます。これは、関数のパラメーターと戻り値の型に便利です。ここで、ID は文字列または数値のいずれかであり、共用体型の威力を示しています。
type ID = string | number; function getUserId(id: ID): string { return `User ID: ${id}`; }
リテラル型を使用すると、変数が取り得る正確な値を指定できます。これは、定数や構成オプションを定義する場合に非常に役立ちます。
type Direction = 'north' | 'south' | 'east' | 'west'; function move(direction: Direction) { console.log(`Moving ${direction}`); } move('north');
タイプを使用すると、条件付きタイプの作成が可能になり、条件に基づいてタイプを選択できるようになります
type Check<T> = T extends string ? string : number; let result1: Check<string>; // result1 is of type string let result2: Check<number>; // result2 is of type number
交差タイプを使用すると、複数のタイプを 1 つに結合できます。これは、複雑なタイプの合成を作成する場合に特に便利です。
type Person = { name: string; age: number; }; type Employee = { employeeId: number; }; type EmployeeDetails = Person & Employee; const employee: EmployeeDetails = { name: 'Dev', age: 30, employeeId: 12345, };
タイプとインターフェイスのどちらを選択するかは、最終的には特定の使用例と個人的な好みによって決まります。ただし、それぞれの長所を理解すると、より多くの情報に基づいた意思決定を行い、より優れた TypeScript コードを作成するのに役立ちます。
以上がインターフェイスではなくタイプを選択する理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。