TS, type vs interface
3077 ワード
type vs interface
TSにおけるtype aliasの方法とインタフェースを比較する方法
共通点
共通点はtypeとinterfaceを使用してタイプを定義し、指定することです.
コード#コード#
type Animal = {
name: string;
age: number;
}
interface Animal {
name: string;
age: number;
}
両方が同じようにオブジェクトを代入する場合は、タイプを指定します.
差異
違いは、共通点で見たコードのように、宣言にはtypeの書き込み、インタフェースの書き込み、「=」と宣言するかどうかの違いがあるが、拡張タイプの方法には最大の違いがある.
コード#コード#
type Animal = {
name: string;
age: number;
}
interface Animal {
name: string;
age: number;
}
type Person = Animal & {
address: string;
}
interface Person extends Animal {
address: string;
}
typeとinterfaceはいずれもPersonにAnimalタイプを拡張しているが,拡張の方法は異なる.
n/a.結論
typeとinterfaceは拡張の面で最大の違いがある.
type
=演算子の後に拡張するタイプの別名と&演算子を付けることで拡張
interface
新しく指定したインタフェース名、extendsシンボル、および展開するインタフェース名を追加して展開
Reference
この問題について(TS, type vs interface), 我々は、より多くの情報をここで見つけました
https://velog.io/@ahngh/TS-type-vs-interface
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
type Animal = {
name: string;
age: number;
}
interface Animal {
name: string;
age: number;
}
type Animal = {
name: string;
age: number;
}
interface Animal {
name: string;
age: number;
}
type Person = Animal & {
address: string;
}
interface Person extends Animal {
address: string;
}
Reference
この問題について(TS, type vs interface), 我々は、より多くの情報をここで見つけました https://velog.io/@ahngh/TS-type-vs-interfaceテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol