ts类型中number和Number有什么区别?
首先看js中如下
可以看到同样是数字类型,一个是对象ObjectNumber,一个是number;
再来说说TS直接上代码
可以看到变量 n4已经提示报错(为了方便TS报错以注释形式贴在后面)。
再去查找错误信息表得
直接上结论:JavaScript 中有很多内置对象,它们的定义文件就在TS核心库的定义文件中。(有兴趣自己去看) 就你提出的问题而言,在JavaScript 中number 和 Number,后者是前者的包装对象。
最后我的建议:
尽量不要使用数字,字符串和布尔值的原始包装对象如下:
/* WRONG */
function reverse(s: String): String;
请使用数字,字符串和布尔值的类型。
/* OK */
function reverse(s: string): string;
这不是 TS 里新有的,而是 JS 里本身就有
number
和Number
,后者是前者的包装对象。