我很高兴,我们可以将数字创建为:
var num = 10;
和:
var num = new Number(10);
我可以只使用声明的第一个变体吗?
最佳答案
是的,始终使用第一个,因为它返回原始值。
第二个方法看起来 返回原始值,但实际上并没有。事实上,它返回一个带有装箱原始值的对象。
为了解释这一点,让我们声明两个变量:
var a = 2;
var b = new Number(2);
表达式 a == b
将返回 true,因为 JavaScript 强制 b
为原始值 2。但是,表达式 a === b
将返回 false,因为类型不同:a
是原始类型而 b
是对象。
关于javascript - bool 值、数字等的引用类型和原始类型之间有很大区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35057650/