Javascript 布尔值、数字等的引用类型和基元类型之间有很大区别吗。?

Javascript 布尔值、数字等的引用类型和基元类型之间有很大区别吗。?,javascript,Javascript,我认为,我们可以创建如下数字: var-num=10 以及: var num=新的数字(10) 我可以只使用声明的第一个变体吗?是的,始终使用第一个变体,因为它返回原语值 第二个方法看起来像是返回一个原语值,但它没有。实际上,它返回一个包含装箱原语值的对象 为了解释这一点,让我们声明两个变量: var a = 2; var b = new Number(2); 表达式a==b将返回true,因为JavaScript将b强制为基元值2。但是,表达式a===b将返回false,因为类型不同:a是一

我认为,我们可以创建如下数字:

var-num=10

以及:

var num=新的数字(10)

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

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

第二个方法看起来像是返回一个原语值,但它没有。实际上,它返回一个包含装箱原语值的对象

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

var a = 2;
var b = new Number(2);
表达式
a==b
将返回true,因为JavaScript将
b
强制为基元值2。但是,表达式
a===b
将返回false,因为类型不同:
a
是一个基元,而
b
是一个对象。

是的,请始终使用第一个,因为它返回基元值

第二个方法看起来像是返回一个原语值,但它没有。实际上,它返回一个包含装箱原语值的对象

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

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

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

的可能重复项的可能重复项。下面演示:var num=10;num类型;“编号”var num=新编号(10);num类型;“object”是的,我是js新手,所以当我试图理解这两种语言的时候,我的头都被移开了。所以,使用第一个var更好?不是“更好”,而是正确的使用方法。查看我的编辑以了解差异。明白了,谢谢。字符串、布尔值的情况也一样…?我会说,是的,一般避免使用新运算符。我自己也很少用它来表示新的日期等,但是是的,我从来没有用“new”来表示原语。下面演示:var num=10;num类型;“编号”var num=新编号(10);num类型;“object”是的,我是js新手,所以当我试图理解这两种语言的时候,我的头都被移开了。所以,使用第一个var更好?不是“更好”,而是正确的使用方法。查看我的编辑以了解差异。明白了,谢谢。字符串、布尔值的情况也一样…?我会说,是的,一般避免使用新运算符。我自己很少用它来声明新的日期等,但是是的,我从不用“new”来表示原语。