[解決済み] TypeScriptでオブジェクトがインターフェイスを実装しているかどうかを実行時にチェックする
2023-01-27 06:03:36
質問
実行時にJSON設定ファイルをロードし、その期待される構造を定義するためにインターフェイスを使用します。
interface EngineConfig {
pathplanner?: PathPlannerConfig;
debug?: DebugConfig;
...
}
interface PathPlannerConfig {
nbMaxIter?: number;
nbIterPerChunk?: number;
heuristic?: string;
}
interface DebugConfig {
logLevel?: number;
}
...
これでオートコンプリートなどが使えるので、各種プロパティにアクセスするのに便利ですね。
質問です。 は、私がロードするファイルの正しさをチェックするためにこの宣言を使用する方法がありますか? つまり、私は予期しないプロパティを持っていないこと?
どのように解決するのですか?
<ブロッククオートいいえ。
現在、型は開発時とコンパイル時にのみ使用されます。 型情報はいかなる方法でもコンパイルされた JavaScript コードに変換されることはありません。
から https://stackoverflow.com/a/16016688/318557 で、@JasonEvans が指摘するように
この件に関しては、TypeScriptのレポに2015年6月からのオープンイシューがあります。 https://github.com/microsoft/TypeScript/issues/3628
関連
-
[解決済み] JavaScriptで値がオブジェクトであるかどうかを確認する
-
[解決済み] オブジェクトをメンバーとして、プレーンなJavaScriptオブジェクトをループさせる方法
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] JavaScript でオブジェクトが特定のプロパティを持つかどうかを確認するにはどうすればよいですか?
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] TypeScriptでオブジェクトに動的にプロパティを割り当てるには?
-
[解決済み] Typescript によるインターフェース型チェック
-
[解決済み】チェックボックスがチェックされているかどうかをjQueryで確認する。
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Typescript によるインターフェース型チェック
-
[解決済み] Typescript で JSON 文字列をパースする方法
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]