new Number() vs Number()

在 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