[解決済み】「any」vs「Object」。
2022-04-02 19:44:05
質問
TypeScriptのコードを見ていて、TypeScriptが使われていることに気がつきました。
interface Blablabla {
field: Object;
}
を使うメリットは何ですか?
Object
対
any
というように、?
interface Blablabla {
field: any;
}
解決方法は?
Object
よりも制限されます。
any
. 例えば
let a: any;
let b: Object;
a.nomethod(); // Transpiles just fine
b.nomethod(); // Error: Property 'nomethod' does not exist on type 'Object'.
は
Object
クラスには
nomethod()
関数を使用するため、トランスパイラがその旨を伝えるエラーを生成します。もし
any
に何が格納されているかについての情報を提供しないことになります。
a
- 何でもいいんです! したがって、トランスパイルは、次のように定義されたものを使ってやりたいことを何でもできるようにします。
any
.
つまり
-
any
は何でもありです(コンパイルエラーなしで任意のメソッドなどを呼び出すことができます)。 -
Object
で定義された関数とプロパティを公開します。Object
クラスがあります。
関連
-
[解決済み] ngModel' は 'input' の既知のプロパティではないため、バインドできません。
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] モジュール 'module-name' の宣言ファイルが見つかりませんでした。'/path/to/module-name.js' は暗黙のうちに 'any' 型を持っています。
-
[解決済み] クラス定数を実装するには?
-
[解決済み] JSONオブジェクトをTypeScriptのクラスにキャストする方法を教えてください。
-
[解決済み] Typescript オブジェクトのインデックス付きメンバの型を強制する?
-
[解決済み] Typescript によるインターフェース型チェック
-
[解決済み] 'unknown' vs. 'any'
-
[解決済み] TypeScriptでインターフェースファイルの定義に基づいたオブジェクトを作成するには?
-
[解決済み] noImplicitAnyフラグを有効にしてtypescriptをコンパイルすると、"Index signature of object type implicitly has an 'any' type "というエラーが発生しますが、どうすれば防ぐことができますか?
最新
-
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 : require文はimport文の一部ではない
-
[解決済み] タイプスクリプトのエラーです。TS7053 要素が暗黙のうちに 'any' 型を持っています。
-
[解決済み] ts1206 デコレーターはここでは無効です、Angular 2。
-
TS1128: 宣言または声明が必要です。
-
[解決済み] 'タイプ 'never'にプロパティが存在しません。
-
[解決済み] TypeScriptの "*.d.ts "について
-
[解決済み] TypeScriptのオブジェクトリテラルでの型定義
-
[解決済み】オブジェクトの配列を定義するにはどうしたらいいですか?
-
[解決済み】tsconfig.jsonファイルを生成するにはどうしたらいいですか?
-
[解決済み] Angular 2 / Typescriptでグローバル変数を宣言するにはどうすればよいですか?[クローズド]