布尔值,数字等的引用和基本类型之间是否存在很大差异?

时间:2016-01-28 09:33:48

标签: javascript

我知道,我们可以创建数字:

  

var num = 10;

  

var num = new Number(10);

我可能只使用声明的第一个变体吗?

1 个答案:

答案 0 :(得分:4)

是的,使用第一个始终,因为它返回一个原始值。

第二种方法看起来就像它返回一个原始值,但它没有。事实上,它返回一个带有盒装原始值的对象。

为了解释这一点,让我们声明两个变量:

var a = 2;
var b = new Number(2);

表达式a == b将返回true,因为JavaScript 强制 b为原始值2.但是,表达式a === b将返回false作为类型是不同的:a是原始的,b是一个对象。