タイプ別名
1755 ワード
タイプ別名
タイプ別名とは、特定のタイプまたはインタフェースを参照できるタイプ変数です.
すなわち、タイプ別名は新しいタイプを作成するのではなく、定義されたタイプをタイプ変数に割り当てます.
// main.ts
// string 타입을 사용
const name: string = 'donghyun';
// string 타입을 가리키는 MyName 타입 별칭 선언
type MyName = string;
const name: MyName = 'donghyun';
キーワードtype
を使用してタイプ別名を宣言し、「特定のタイプ」または「インタフェース」を値として指定します.インタフェースは、タイプ別名としても使用できます.
// main.ts
// 객체 구조 인터페이스를 가리키는 타입 별칭 Developer 선언
type Developer = {
name: string;
skill: string;
}
// 함수 스펙 인터페이스를 가리키는 타입 별칭 SumFunc 선언
type SumFunc = {
(a: number, b: number): number;
}
// 배열 스펙 인터페이스를 타입 별칭으로 선언
type StringArray = {
[index: number]: string;
}
// 객체 스펙 인터페이스를 가리키는 타입 별칭 StringObj 선언
type StringObj = {
[key: string]: RegExp;
}
type
キーワードを使用してタイプ別名を宣言し、インタフェースの仕様を値として指定できます.タイプ別名のフィーチャー
1.Previewを表示
インタフェースとタイプ別名の違いから、タイプ別名の特徴を理解しましょう.
// main.ts
// MyName 인터페이스 정의
interface MyName {
name: string;
age: number;
}
const user: MyName = {
name: 'donghyun',
age: 25
};
MyNameという名前のインタフェースを定義し、MyNameインタフェースを使用してユーザー変数のタイプを定義した場合、ユーザー変数の横にあるMyNameにカーソルを置くと、以下のウィンドウとpreviewウィンドウが表示されます.上図に示すように、
interface MyName
のみが表示されます.タイプ別名の場合、次のpreviewウィンドウが表示されます.
つまり、MyNameタイプエイリアスが指す「タイプの構造」がプレビューウィンドウに表示されます.
2. extends
最大の違いは、インタフェースはextendsキーワードに拡張できますが、タイプ別名に拡張できません.
したがって、タイプ別名をtypeとして宣言するのではなく、インタフェースを定義して使用することをお勧めします.
Reference
この問題について(タイプ別名), 我々は、より多くの情報をここで見つけました https://velog.io/@kim98111/타입-별칭テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol