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类中定义的函数和属性。
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;
添加回答
举报