📜  TypeScript 中的 any 与 Object 有什么区别?

📅  最后修改于: 2022-05-13 01:56:51.803000             🧑  作者: Mango

TypeScript 中的 any 与 Object 有什么区别?

TypeScript是一种开源编程语言。它是 JavaScript 语言的超集。 TypeScript 专为开发大型应用程序而设计。

any:它是 TypeScript 中的内置数据类型,有助于描述我们在编写代码时不确定的变量类型。
尽管数据类型“任何”很有用,但不应不必要地使用它。

  • 句法:
    var x: any; // This means x has no interface.
    
  • 特征:
    • 当没有可用的类型定义时,可以使用此数据类型。
    • 'any' 数据类型可用于表示任何 JavaScript 值。
  • 示例:下面的代码说明了 TypeScript 中的任何数据类型:
    • 代码 1:
                          
      
    • 输出:
      Geeksforgeeks
    • 代码 2:
      
      
    • 输出:
      4

对象:它描述了功能,对象有助于表示除数字、字符串、布尔值、大整数、符号、未定义和空值之外的所有非原始类型。在 TypeScript 中,对象(O 大写)不同于对象(O 小写)。

  • 句法:
    var y: Object; // This means y has Object interface.
    
  • 特征:
    • Object 公开了 Object 类中定义的函数和属性。
    • 对象是一种更具体的声明方式。
  • 示例:下面的代码说明了 TypeScript 中的对象:
    • 代码 1:
      
      
    • 输出:
      11 XYZ
    • 代码 2:
       
      
    • 输出:
      102 ABC 10000

TypeScript 中 any 和 Object 的区别:

anyObject
If you employ ‘any’ to a nomethod() function you are basically telling the transpiler that no information will be provided regarding what’s stored in it. Therefore the transpiler doesn’t restrict anything and it transpiles fine.The Object class doesn’t have a nomethod() function, therefore the transpiler will generate a miscalculation.
any is way more flexible to use than Object.Object is way more specific in declaration than any.
any does not ignore any compile time checks .Objects take more time to compile.