タイプスクリプトによってエラーとして発生しないタイプなしで宣言されたオブジェクト

dagda1

私は次のtsconfig.jsonを持っています

{
  "compilerOptions": {
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "baseUrl": "src",
    "isolatedModules": true,
    "jsx": "preserve",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "lib": ["dom", "dom.iterable", "esnext"],
    "module": "esnext",
    "moduleResolution": "node",
    "noEmit": true,
    "noImplicitAny": true,
    "noUnusedLocals": true,
    "resolveJsonModule": true,
    "skipLibCheck": true,
    "strict": true,
    "strictFunctionTypes": true,
    "strictNullChecks": true,
    "target": "es5",
    "types": ["node", "jest"]
  },
  "include": ["./src/**/*.ts", "./src/**/*.tsx"],
  "plugins": [
    {
      "name": "typescript-tslint-plugin"
    }
  ]
}

私はnoImplicitAny設定しましたが、typescriptは代わりにこのオブジェクトのタイプを推測しています:

export const routes = [
    {
        exact: true,
        id: "home",
        main: {
            component: Home,
        },
        path: "/",
    },
    {
        id: "audit-report",
        main: {
            component: AuditReport,
        },
        path: "/reports/audit",
    },
];

このオブジェクトは型指定されていないため、エラーが発生すると予想していました。

Titian Cernicova-Dragomir

noImplictAnyタイプが指定されていないだけで、トリガ・エラーtypescriptですが、暗黙のうちに想定してany、それが変数に関する余分な情報を持っていないため。タイプが指定されていない場合、typescriptはのタイプを簡単に推測できますroutesこれを不適切に使用すると(つまり、存在しないプロパティにアクセスすると)エラーが発生するため、コンパイラに関する限り、これはすべてタイプセーフです。

私は通常、コンパイラに可能な限り型を推測させることをお勧めします。すべてを明示的に入力すると、多くのノイズが追加されますが、価値が限られていることがわかります(推測された型を本当に知る必要がある場合は、ホバーすると推測された型を確認できます)

本当に本当にすべてのタイプを強制的に指定したい場合は、このtslintルールを使用できます

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

プロトタイプなしで作成されたオブジェクトでconsole.logを使用するとエラーが発生し、文字列プロパティを使用して配列にアクセスできました。

分類Dev

AWS Beanstalkで実行されているdjangoプロジェクトを取得しようとしたときに、インスタンスプロファイルが存在しないというエラーが発生しました

分類Dev

カスタムライブラリからオブジェクトを参照すると、エラーが発生します:「不完全なクラスタイプへのポインタは許可されていません」

分類Dev

パラメータを介してサブクラスタイプを決定しますが、「宣言されていないタイプの使用」というエラーが発生します。どのようにできるのか?

分類Dev

「オブジェクト参照がオブジェクトのインスタンスに設定されていません」を取得しました。サーバーにデプロイするとエラーが発生しますが、ローカルで実行/デバッグしても問題ありません

分類Dev

セッションパラメータで「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生し、nullではないのはなぜですか?

分類Dev

一時停止したバッチスクリプトによって保存されたデータファイルをインタラクティブに読み込もうとしたときにエラーが発生しました

分類Dev

CORSによってブロックされたリクエスト:プリフライトリクエストへの応答がアクセス制御チェックに合格しない:HTTPokステータスがない

分類Dev

サブジェクトがスコープ外になったときにサブスクライブを解除しないと、rxjsサブジェクトへのサブスクリプションによってメモリリークが発生しますか?

分類Dev

SwiftアプリにMoPublibをインポートしようとしたときにエラーが発生しました(エラー:宣言されていないタイプの使用)

分類Dev

c#オブジェクトとして設定されたさまざまなタイプのリスト

分類Dev

UWP(デスクトップブリッジアプリ)によって作成されたlocaldbデータベースがSQL Serverオブジェクトエクスプローラーに表示されないのはなぜですか?

分類Dev

新しいデータをインポートした後にのみ、各ループでオブジェクトが必要なエラーが発生する

分類Dev

タイプ「EmployeeController」のコントローラーを作成しようとしたときにエラーが発生しました。コントローラにパラメータのないパブリックコンストラクタがあることを確認してください

分類Dev

アップロードされた画像(画像オブジェクト)をレンダリングしてエラーが発生しないようにするにはどうすればよいですか(オブジェクトはReactの子として有効ではありません)?

分類Dev

トリガーされたときにスプライトレンダラーを使用してオブジェクトが表示されない

分類Dev

'findViewById()'によって返された 'View'オブジェクトをLinearLayoutクラスのaddView()にパラメーターとして渡すと、エラーが発生するのはなぜですか?

分類Dev

Webアプリからfirestoreからフィールドを削除中にエラーが発生しました。「サポートされていないフィールド値:カスタムDeleteFieldValueImplオブジェクト」

分類Dev

データベースとしてpostgresql10.1を使用し、spring-security-coreを使用したGrails 3.3.0で、「オブジェクト参照が保存されていない一時インスタンス」エラーが発生する

分類Dev

匿名タイプでのEqualsの呼び出しは、オブジェクトが作成されたアセンブリによって異なります

分類Dev

<form>タグにより、djangoプロジェクトのajaxリクエストでエラー10053が発生します。なぜこうなった?

分類Dev

エラーの取得オブジェクトのリストにデータを入力しようとしているときに、タイプ 'object'の異なるサポートオブジェクト '[objectObject]'が見つかりません

分類Dev

オブジェクトキーとしてアクセスしたときにタイプが推測されない

分類Dev

「無効化または削除されたタイプのオブジェクトにアクセスしています」というエラーメッセージでアプリがクラッシュしますか?

分類Dev

ポインタとして渡されたときにオブジェクトがスコープ外になるのに、返されたときにオブジェクトがスコープ外になるのはなぜですか

分類Dev

getAllEntriesByKeyはエラーを引き起こします:Vectorで不明またはサポートされていないオブジェクトタイプ

分類Dev

InterfaceError:パラメーター0のバインド中にエラーが発生しました-djangoスクリプトの実行時にサポートされていないタイプである可能性があります

分類Dev

スプリングブーツ2.0.0を使用したボイラープレートプロジェクトで、カスタムアクチュエータのエンドポイントが公開されていない

分類Dev

予期しない入力の終了:forループでcurlpostリクエストを送信しようとしたときにオブジェクトエラーのクローズマーカーが予期されていました

Related 関連記事

  1. 1

    プロトタイプなしで作成されたオブジェクトでconsole.logを使用するとエラーが発生し、文字列プロパティを使用して配列にアクセスできました。

  2. 2

    AWS Beanstalkで実行されているdjangoプロジェクトを取得しようとしたときに、インスタンスプロファイルが存在しないというエラーが発生しました

  3. 3

    カスタムライブラリからオブジェクトを参照すると、エラーが発生します:「不完全なクラスタイプへのポインタは許可されていません」

  4. 4

    パラメータを介してサブクラスタイプを決定しますが、「宣言されていないタイプの使用」というエラーが発生します。どのようにできるのか?

  5. 5

    「オブジェクト参照がオブジェクトのインスタンスに設定されていません」を取得しました。サーバーにデプロイするとエラーが発生しますが、ローカルで実行/デバッグしても問題ありません

  6. 6

    セッションパラメータで「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生し、nullではないのはなぜですか?

  7. 7

    一時停止したバッチスクリプトによって保存されたデータファイルをインタラクティブに読み込もうとしたときにエラーが発生しました

  8. 8

    CORSによってブロックされたリクエスト:プリフライトリクエストへの応答がアクセス制御チェックに合格しない:HTTPokステータスがない

  9. 9

    サブジェクトがスコープ外になったときにサブスクライブを解除しないと、rxjsサブジェクトへのサブスクリプションによってメモリリークが発生しますか?

  10. 10

    SwiftアプリにMoPublibをインポートしようとしたときにエラーが発生しました(エラー:宣言されていないタイプの使用)

  11. 11

    c#オブジェクトとして設定されたさまざまなタイプのリスト

  12. 12

    UWP(デスクトップブリッジアプリ)によって作成されたlocaldbデータベースがSQL Serverオブジェクトエクスプローラーに表示されないのはなぜですか?

  13. 13

    新しいデータをインポートした後にのみ、各ループでオブジェクトが必要なエラーが発生する

  14. 14

    タイプ「EmployeeController」のコントローラーを作成しようとしたときにエラーが発生しました。コントローラにパラメータのないパブリックコンストラクタがあることを確認してください

  15. 15

    アップロードされた画像(画像オブジェクト)をレンダリングしてエラーが発生しないようにするにはどうすればよいですか(オブジェクトはReactの子として有効ではありません)?

  16. 16

    トリガーされたときにスプライトレンダラーを使用してオブジェクトが表示されない

  17. 17

    'findViewById()'によって返された 'View'オブジェクトをLinearLayoutクラスのaddView()にパラメーターとして渡すと、エラーが発生するのはなぜですか?

  18. 18

    Webアプリからfirestoreからフィールドを削除中にエラーが発生しました。「サポートされていないフィールド値:カスタムDeleteFieldValueImplオブジェクト」

  19. 19

    データベースとしてpostgresql10.1を使用し、spring-security-coreを使用したGrails 3.3.0で、「オブジェクト参照が保存されていない一時インスタンス」エラーが発生する

  20. 20

    匿名タイプでのEqualsの呼び出しは、オブジェクトが作成されたアセンブリによって異なります

  21. 21

    <form>タグにより、djangoプロジェクトのajaxリクエストでエラー10053が発生します。なぜこうなった?

  22. 22

    エラーの取得オブジェクトのリストにデータを入力しようとしているときに、タイプ 'object'の異なるサポートオブジェクト '[objectObject]'が見つかりません

  23. 23

    オブジェクトキーとしてアクセスしたときにタイプが推測されない

  24. 24

    「無効化または削除されたタイプのオブジェクトにアクセスしています」というエラーメッセージでアプリがクラッシュしますか?

  25. 25

    ポインタとして渡されたときにオブジェクトがスコープ外になるのに、返されたときにオブジェクトがスコープ外になるのはなぜですか

  26. 26

    getAllEntriesByKeyはエラーを引き起こします:Vectorで不明またはサポートされていないオブジェクトタイプ

  27. 27

    InterfaceError:パラメーター0のバインド中にエラーが発生しました-djangoスクリプトの実行時にサポートされていないタイプである可能性があります

  28. 28

    スプリングブーツ2.0.0を使用したボイラープレートプロジェクトで、カスタムアクチュエータのエンドポイントが公開されていない

  29. 29

    予期しない入力の終了:forループでcurlpostリクエストを送信しようとしたときにオブジェクトエラーのクローズマーカーが予期されていました

ホットタグ

アーカイブ