我知道,我们可以创建数字:
var num = 10;
和
var num = new Number(10);
我可能只使用声明的第一个变体吗?
答案 0 :(得分:4)
是的,使用第一个始终,因为它返回一个原始值。
第二种方法看起来就像它返回一个原始值,但它没有。事实上,它返回一个带有盒装原始值的对象。
为了解释这一点,让我们声明两个变量:
var a = 2;
var b = new Number(2);
表达式a == b
将返回true,因为JavaScript 强制 b
为原始值2.但是,表达式a === b
将返回false作为类型是不同的:a
是原始的,b
是一个对象。