3 回答

TA貢獻1865條經(jīng)驗 獲得超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將產(chǎn)生一個錯誤,告訴你這一點。如果您使用any相反,您基本上告訴轉(zhuǎn)換器,任何事情發(fā)生,您沒有提供有關(guān)存儲內(nèi)容的信息a- 它可以是任何東西!因此,轉(zhuǎn)換器將允許您使用定義的任何內(nèi)容執(zhí)行任何操作any。
所以簡而言之
any 可以是任何東西(你可以調(diào)用任何方法等沒有編譯錯誤)
Object公開Object類中定義的函數(shù)和屬性。

TA貢獻1833條經(jīng)驗 獲得超4個贊
Object指的是JavaScript object類型。常用{}或有時候使用new Object。javascript中的大多數(shù)內(nèi)容與對象數(shù)據(jù)類型兼容,因為它們從中繼承。但TypeScriptany是特定的,并且與兩個方向上的所有內(nèi)容兼容(不基于繼承)。例如:
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;??
添加回答
舉報