为了账号安全,请及时绑定邮箱和手机立即绑定

'any'vs'Object'

'any'vs'Object'

精慕HU 2019-08-17 15:00:41
'any'vs'Object'我正在查看TypeScript代码,并注意到他们使用:interface Blablabla {    field: Object;}使用Objectvs有什么好处any,如:interface Blablabla {   field: any;}
查看完整描述

3 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

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()的功能,因此transpiler将产生一个错误,告诉你这一点。如果您使用any相反,您基本上告诉转换器,任何事情发生,您没有提供有关存储内容的信息a- 它可以是任何东西!因此,转换器将允许您使用定义的任何内容执行任何操作any。


所以简而言之


any 可以是任何东西(你可以调用任何方法等没有编译错误)

Object公开Object类中定义的函数和属性。


查看完整回答
反对 回复 2019-08-17
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞


Object指的是JavaScript object类型。常用{}或有时候使用new Object。javascript中的大多数内容与对象数据类型兼容,因为它们从中继承。但TypeScriptany是特定的,并且与两个方向上的所有内容兼容(不基于继承)。例如:


var foo:Object; 

var bar:any;

var num:number;


foo = num; // Not an error

num = foo; // ERROR 


// Any is compatible both ways 

bar = num;

num = bar;  


查看完整回答
反对 回复 2019-08-17
  • 3 回答
  • 0 关注
  • 503 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信