小编Nir*_*ana的帖子

TypeScript 中的“数字”和“数字”有什么区别?

在 TypeScript 中,有两种不同的“数字”类型。第一个称为小写number,第二个称为大写Number。如果您尝试打印number,则会出现编译器错误:

console.log(number); //-> error TS2693: 'number' only refers to a type
Run Code Online (Sandbox Code Playgroud)

另一方面,打印Number会给出标准的功能描述:

console.log(Number); //-> [Function: Number]
Run Code Online (Sandbox Code Playgroud)

这并不奇怪,因为这里Number记录的只是一个内置的 JS 构造函数。然而,目前还不清楚,应该是什么。number

从错误消息来看,似乎number实际上并不是像 那样的离散值(?!)Number。但尽管如此,它还是在变量和函数声明中使用,就像它是一个值一样,例如:

var two: number = 2;
function sqr(x: number) { return x; }
Run Code Online (Sandbox Code Playgroud)

另一方面,用户定义的类型(例如类)似乎是离散值(因为它们还打印标准函数描述)。而且,为了使事情变得更加复杂,Number可以在类似于以下的注释中使用number

var two: Number = 2;
Run Code Online (Sandbox Code Playgroud)

stringStringanyObject等也有类似的情况。

所以,我的问题是: TypeScript 中的、等是什么,它们与内置构造函数有何不同?numberstring

javascript types typescript

15
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×1

types ×1

typescript ×1