ts类型中number和Number有什么区别?

ts类型中number和Number有什么区别?

阅读 17.3k
3 个回答

这不是 TS 里新有的,而是 JS 里本身就有 numberNumber,后者是前者的包装对象。

number是ts类型,不存在与js,Number是js对象

首先看js中如下

可以看到同样是数字类型,一个是对象ObjectNumber,一个是number;
再来说说TS直接上代码

可以看到变量 n4已经提示报错(为了方便TS报错以注释形式贴在后面)。
再去查找错误信息表得

直接上结论:JavaScript 中有很多内置对象,它们的定义文件就在TS核心库的定义文件中。(有兴趣自己去看) 就你提出的问题而言,在JavaScript 中number 和 Number,后者是前者的包装对象。
最后我的建议:
尽量不要使用数字,字符串和布尔值的原始包装对象如下:

/* WRONG */ 
function reverse(s: String): String; 

请使用数字,字符串和布尔值的类型。

/* OK */ 
function reverse(s: string): string; 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏