new Number() vs Number()

阅读时长 3 分钟读完

在 JavaScript 中,有两种常见的创建数字对象的方式:new Number()Number()。这两种方法看起来很相似,但实际上它们之间有一些重要的区别。

new Number()

new Number() 是一个构造函数,用于创建一个包含指定值的 Number 对象。当您使用 new 关键字以及构造函数调用时,JavaScript 会创建一个新的 Number 对象,并将其赋予变量。这意味着它会创建一个包含指定值的对象,而不是简单地返回一个原始数字值。

请注意,返回的是一个对象,而不是一个原始类型值。如果您想要获取对象的值,可以使用 valueOf() 方法。

Number()

Number() 是一个全局函数,用于将传递给它的参数转换为一个数字值,并返回该值。如果无法将参数转换为数字,则返回 NaN

请注意,返回的是一个原始数字类型值,而不是对象。

区别

最大的区别在于 new Number() 返回一个 Number 对象,而 Number() 返回一个原始数字类型值。由于 JavaScript 引擎执行操作时更熟悉原始数字类型值,因此在大多数情况下,使用 Number() 更加高效。

在 JavaScript 中,对象比原始值要占用更多的内存和处理时间,这意味着如果您没有特殊的需求需要使用 Number 对象,则应该尽可能地避免使用它们。

示例

-- -------------------- ---- -------
----- ------ - --- -----------
----- -------- - -------------

------------------------------ -- --
---------------------- -- --
------------------ -------- -- --------
------------------ ---------- -- --------

-- -- ------ - ---------- ------
------------------ ------ --- ---------- -- ----
------------------ -------- --- ---------- -- ----
------------------ ---------- -------- -- ----
-------------------- ---------- -------- -- -----

指导意义

在大多数情况下,使用 Number() 而不是 new Number() 更为合适。只有在需要将数字作为对象时才使用 new Number()。在编写代码时,请始终记得考虑内存和性能问题,并尽量减少不必要的对象创建。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/26203

纠错
反馈