JavaScript 中,下⾯代码的输出是什么?

let a = 3;
let b = new Number(3);
let c = 3;
console.log(a == b);
console.log(a === b);
console.log(b === c);
949 次浏览
  • A、true false true
  • B、false false true
  • C、true false false
  • D、false true true
new Number() 是⼀个内置的函数构造函数。 虽然它看起来像⼀个数字,但它并不是⼀个真正的数字:它有⼀堆额外的功能,是⼀个对象。 当我们使⽤ == 运算符时,它只检查它是否具有相同的值。 他们都有 3 的值,所以它返回 true 。 == 会引发隐式类型转换,右侧的对象类型会⾃动拆箱为 Number 类型。 然⽽,当我们使⽤ === 操作符时,类型和值都需要相等, new Number() 不是⼀个数字, 是⼀个对象类型。两者都返回 false 。
挑战成功
2年前
挑战失败
2年前
挑战失败
2年前
挑战成功
3年前
挑战成功
4年前
挑战失败
4年前