'any'vs'Object'

'any'vs'Object'

我正在查看TypeScript代码,并注意到他们使用:

interface Blablabla {

   field: Object;}

使用Objectvs有什么好处any,如:

interface Blablabla {

  field: any;}


精慕HU
浏览 508回答 3
3回答

鸿蒙传说

Object比...更具限制性any。例如:let a: any;let b: Object;a.nomethod(); // Transpiles just fineb.nomethod(); // Error: Property 'nomethod' does not exist on type 'Object'.本Object类不具有nomethod()的功能,因此transpiler将产生一个错误,告诉你这一点。如果您使用any相反,您基本上告诉转换器,任何事情发生,您没有提供有关存储内容的信息a- 它可以是任何东西!因此,转换器将允许您使用定义的任何内容执行任何操作any。所以简而言之any 可以是任何东西(你可以调用任何方法等没有编译错误)Object公开Object类中定义的函数和属性。

潇潇雨雨

Object指的是JavaScript object类型。常用{}或有时候使用new Object。javascript中的大多数内容与对象数据类型兼容,因为它们从中继承。但TypeScriptany是特定的,并且与两个方向上的所有内容兼容(不基于继承)。例如:var foo:Object; var bar:any;var num:number;foo = num; // Not an errornum = foo; // ERROR // Any is compatible both ways bar = num;num = bar;  
打开App,查看更多内容
随时随地看视频慕课网APP