TypeScript-クラスのオブジェクト定義からインターフェイスを見ることができません

彼の

私は奇妙な問題を抱えています:

interface PreferencesData {

}  
class Background {        
    a:PreferencesData;         // OK
    private state = {
        preferences : PreferencesData   // NOT OK
    }
..

「NOT_OK」の場合-それは単に見ることができずPreferencesData、コンパイルを拒否します。

しかし、「a」の場合、それは表示され、文句はありません。

私は何かが恋しいですか?

更新:に変更interfaceするとclass、表示されます

フェントン

次のように、オブジェクトの型注釈型情報を配置する必要があります。

class Example1 {        
    a:PreferencesData;
    private state: { preferences: PreferencesData } = {
        preferences: ""
    }
}

どうして?なぜなら:オブジェクトリテラル分離し、キー/値の組の内部ので、右側の式は値ではなく、型注釈であると予想されます。

これは面倒に見えるので、次の状態オブジェクトのインターフェイスを作成することを決定できます。

interface State {
    preferences: PreferencesData;
}

class Example2 {        
    a:PreferencesData;
    private state: State = {
        preferences: ""
    }
}

注:上記の""空の文字列は、有効なPreferencesData互換性のある構造に置き換える必要がありますが、元の質問ではそれが何であるかを指定していません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Typescriptでコンストラクターにオブジェクトを渡すことができません

分類Dev

Typescript定義ファイルは、メソッドにオブジェクトインターフェイスを実装させることはできません

分類Dev

TypeScript:同じオブジェクトを定義時にインターフェイスで割り当てることができないが、パラメーターとして渡したときに割り当てることができるのはなぜですか

分類Dev

オブジェクトのすべてのフィールドのインターフェイスを定義するには、TypeScriptの他のインターフェイスのインスタンスである必要がありますか?

分類Dev

Typescriptはインターフェイス名を見つけることができませんが、定義された関数を知っています

分類Dev

Typescript:インターフェイスのタイプであるオブジェクトが別のオブジェクトと等しいかどうかを比較します同じインターフェイスタイプを持っています

分類Dev

Typescript:関数がクラスに存在する場合、オブジェクトリテラルを使用してオブジェクトをインスタンス化することはできません

分類Dev

Typescript:特定のキーとチェーンオブジェクトなしでインターフェースを定義する

分類Dev

TypeScriptインターフェイスから「空の」オブジェクトを作成することは可能ですか?

分類Dev

プロパティが既存のオブジェクトのプロパティであるTypescriptインターフェイスを定義する

分類Dev

Typescriptオブジェクトクラスのメンバーはインターフェイスで定義されます

分類Dev

Typescript:ネストされたオブジェクトのインターフェースを定義するにはどうすればよいですか?

分類Dev

Typescriptを使用してオブジェクトの配列のインターフェイスを定義するにはどうすればよいですか?

分類Dev

typescriptで、キーのリストを使用してオブジェクトから未定義タイプとnullタイプを削除できますか?

分類Dev

typescriptでオブジェクトを作成するときに、インターフェイスの特定のプロパティを無視しますか?

分類Dev

TypeScript-インターフェース。空のオブジェクトまたはこのオブジェクトのいずれかでプロパティを定義します

分類Dev

Typescript:オブジェクトリテラルがインターフェイスを拡張することを確認しますが、実際のオブジェクトタイプを返します

分類Dev

Typescript:宣言された(インターフェイス)数値オブジェクトパラメータに文字列値を割り当てることができるのはなぜですか

分類Dev

TypeScriptは、ジェネリックパラメータと同じベースのオブジェクトを返すことはできません

分類Dev

Typescript:オブジェクトキーの和集合であるタイプは、このオブジェクトのキーとして使用できません

分類Dev

typescriptのオブジェクトのリストからアイテムを削除できません

分類Dev

オブジェクトでもあるコンストラクターのtypescriptインターフェイスを定義するにはどうすればよいですか?

分類Dev

Typescript: 'string'を使用して複雑なオブジェクトの型にインデックスを付けることはできません

分類Dev

Typescript-オブジェクトにすべてのインターフェイスプロパティがあることを確認します

分類Dev

Typescriptコンパイラは、Jqueryタイプ定義がすでにインストールされているにもかかわらず、それらを見つけることができません。

分類Dev

TypeScript | カスタムタイプのオブジェクトをループできません

分類Dev

typescriptインターフェイスオブジェクトからフィールドを削除します

分類Dev

Typescriptは、インターフェイスに基づいて、別のオブジェクトからオブジェクトを作成します

分類Dev

Typescript-指定されたタイプのオブジェクトをジェネリックタイプに割り当てることはできません

Related 関連記事

  1. 1

    Typescriptでコンストラクターにオブジェクトを渡すことができません

  2. 2

    Typescript定義ファイルは、メソッドにオブジェクトインターフェイスを実装させることはできません

  3. 3

    TypeScript:同じオブジェクトを定義時にインターフェイスで割り当てることができないが、パラメーターとして渡したときに割り当てることができるのはなぜですか

  4. 4

    オブジェクトのすべてのフィールドのインターフェイスを定義するには、TypeScriptの他のインターフェイスのインスタンスである必要がありますか?

  5. 5

    Typescriptはインターフェイス名を見つけることができませんが、定義された関数を知っています

  6. 6

    Typescript:インターフェイスのタイプであるオブジェクトが別のオブジェクトと等しいかどうかを比較します同じインターフェイスタイプを持っています

  7. 7

    Typescript:関数がクラスに存在する場合、オブジェクトリテラルを使用してオブジェクトをインスタンス化することはできません

  8. 8

    Typescript:特定のキーとチェーンオブジェクトなしでインターフェースを定義する

  9. 9

    TypeScriptインターフェイスから「空の」オブジェクトを作成することは可能ですか?

  10. 10

    プロパティが既存のオブジェクトのプロパティであるTypescriptインターフェイスを定義する

  11. 11

    Typescriptオブジェクトクラスのメンバーはインターフェイスで定義されます

  12. 12

    Typescript:ネストされたオブジェクトのインターフェースを定義するにはどうすればよいですか?

  13. 13

    Typescriptを使用してオブジェクトの配列のインターフェイスを定義するにはどうすればよいですか?

  14. 14

    typescriptで、キーのリストを使用してオブジェクトから未定義タイプとnullタイプを削除できますか?

  15. 15

    typescriptでオブジェクトを作成するときに、インターフェイスの特定のプロパティを無視しますか?

  16. 16

    TypeScript-インターフェース。空のオブジェクトまたはこのオブジェクトのいずれかでプロパティを定義します

  17. 17

    Typescript:オブジェクトリテラルがインターフェイスを拡張することを確認しますが、実際のオブジェクトタイプを返します

  18. 18

    Typescript:宣言された(インターフェイス)数値オブジェクトパラメータに文字列値を割り当てることができるのはなぜですか

  19. 19

    TypeScriptは、ジェネリックパラメータと同じベースのオブジェクトを返すことはできません

  20. 20

    Typescript:オブジェクトキーの和集合であるタイプは、このオブジェクトのキーとして使用できません

  21. 21

    typescriptのオブジェクトのリストからアイテムを削除できません

  22. 22

    オブジェクトでもあるコンストラクターのtypescriptインターフェイスを定義するにはどうすればよいですか?

  23. 23

    Typescript: 'string'を使用して複雑なオブジェクトの型にインデックスを付けることはできません

  24. 24

    Typescript-オブジェクトにすべてのインターフェイスプロパティがあることを確認します

  25. 25

    Typescriptコンパイラは、Jqueryタイプ定義がすでにインストールされているにもかかわらず、それらを見つけることができません。

  26. 26

    TypeScript | カスタムタイプのオブジェクトをループできません

  27. 27

    typescriptインターフェイスオブジェクトからフィールドを削除します

  28. 28

    Typescriptは、インターフェイスに基づいて、別のオブジェクトからオブジェクトを作成します

  29. 29

    Typescript-指定されたタイプのオブジェクトをジェネリックタイプに割り当てることはできません

ホットタグ

アーカイブ