[解決済み] Typescript において、型とインターフェースの違いは何ですか?
2022-06-19 20:49:41
質問
次のような違いがありますか?
type Foo = {
foo: string
};
interface Foo {
foo: string;
}
どのように解決するのですか?
インターフェイスは 拡張
interface A {
x: number;
}
interface B extends A {
y: string;
}
また 増強された
interface C {
m: boolean;
}
// ... later ...
interface C {
n: number;
}
しかし、型のエイリアスは、インターフェースが表現できないものを表現することができます。
type NumOrStr = number | string;
type NeatAndCool = Neat & Cool;
type JustSomeOtherName = SomeType;
ですから、一般的には、質問にあるような単純なオブジェクトの型がある場合、通常はインターフェイスの方が良い方法です。インターフェイスとして書けないものを書きたい、あるいは別の名前を付けたいという場合は、タイプエイリアスを使うのがよいでしょう。
関連
-
vueにおけるv-forループオブジェクトのプロパティ
-
nullのプロパティinnerHTMLを読み取れません エラーメッセージ
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
-
[解決済み】JavaScript版sleep()とは?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
HTML+CSS+JavaScriptで簡単な三目並べゲームを作成する。
-
vue for 登録ページ効果 vue for sms 認証コードログイン
-
JavaScriptのクロージャの説明
-
Vueでルートネスティングを実装する例
-
Vueの「データを聴く」原則を解説
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】TypeScriptのインターフェースと型について