Javascript 类型脚本类型“对象”与对象接口,为什么没有“数组”类型?

Javascript 类型脚本类型“对象”与对象接口,为什么没有“数组”类型?,javascript,typescript,Javascript,Typescript,有人能清楚地解释一下为什么TypeScript中有一个类型对象,为什么用它来代替JavaScript对象接口 类似地,为什么没有数组类型,而是使用JavaScript接口数组 在Internet上看到类似的示例,其中数组和数组处于类似的上下文中,这有点令人困惑。对象表示任何非原语的内容;所以任何不是数字、字符串、布尔值、符号、null或未定义的东西 对象表示所有对象通用的功能;所以像.toString和.valueOf。但请注意!由于装箱是将基本体包装在对象中的方式,因此基本体实际上也具有这些属

有人能清楚地解释一下为什么TypeScript中有一个类型对象,为什么用它来代替JavaScript对象接口

类似地,为什么没有数组类型,而是使用JavaScript接口数组

在Internet上看到类似的示例,其中数组和数组处于类似的上下文中,这有点令人困惑。

对象表示任何非原语的内容;所以任何不是数字、字符串、布尔值、符号、null或未定义的东西

对象表示所有对象通用的功能;所以像.toString和.valueOf。但请注意!由于装箱是将基本体包装在对象中的方式,因此基本体实际上也具有这些属性,因此以下内容完全合法:

const a: Object = 5;
const b: Object = "hello";
const c: Object = true;
相比之下,以下都是错误:

const a: object = 5;
const b: object = "hello";
const c: object = true;
由于这个原因,对象几乎从来都不是您想要使用的,您应该使用对象


另请参见

上的Typescript页面,此处对其进行了全面而专业的解释:感谢尼古拉斯·塔尔的解释!为什么没有数组类型…?你们认为数组和数组有什么不同?数组不是基元,所以它不能像数字、布尔值等那样表示基元。对象的存在是为了履行区分基元和非基元的特殊角色,但我想不出数组可以扮演什么类似的角色。把数组作为JavaScript接口与这些类型的脚本混为一谈会让人感到困惑。