1. ホーム
  2. タイプスクリプト

[解決済み】「any」vs「Object」。

2022-04-02 19:44:05

質問

TypeScriptのコードを見ていて、TypeScriptが使われていることに気がつきました。

interface Blablabla {

   field: Object;

}

を使うメリットは何ですか? Objectany というように、?

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 クラスがあります。