let a = 3;
let b = new Number(3);
let c = 3;
console.log(a == b);
console.log(a === b);
console.log(b === c);A:true false true
B: false false true
C: true false false
D: false true true参考答案:C
解析:
new Number( )是一个内置的函数构造函数。虽然它看起来像一个数字,但它并不是一个真正的数 字:它有一堆额外的功能,是一个对象。
当我们使用 == 运算符时,它只检查它是否具有相同的值。他们都有3的值,所以返回true。
译者注:==会引发隐式类型转换,右侧的对象类型会自动拆箱为Number类型。
然而,当我们使用===操作符时,类型和值都需要相等,new Number( )不是一个数字,是一个对象类型。两者都返回 false。