1. ホーム
  2. ジャバスクリプト

[解決済み】Typescript d.ts ファイルで定義されたインターフェースプロパティタイプのオーバーライド

2022-03-31 23:56:14

質問

で定義されたインターフェースプロパティの種類を変更する方法はありますか? *.d.ts をtypescriptで作成することはできますか?

を例にとって説明します。 のインターフェースは x.d.ts は次のように定義されます。

interface A {
  property: number;
}

に書き込むtypescriptファイルで変更したい。

interface A {
  property: Object;
}

あるいは、次のようにしてもよいでしょう。

interface B extends A {
  property: Object;
}

この方法はうまくいくのでしょうか?私のシステムで試したところ、うまくいきませんでした。可能かどうか確認したいのですが?

解決方法は?

最初にフィールドをフィルタリングして、次にそれらを結合する方法を使用しています。

参照 タイプからプロパティを除外する

interface A {
    x: string
}

export type B = Omit<A, 'x'> & { x: number };

をインターフェースに使用します。

interface A {
    x: string
}

interface B extends Omit<A, 'x'> {
  x: number
}