可以(a === b&& a!== b)评估为真?

时间:2018-02-28 04:56:52

标签: javascript ecmascript-6

有没有办法让(a === b&& a!== b)评价为真?

认为答案是否定的,但我觉得这可能是一个伎俩。

2 个答案:

答案 0 :(得分:0)

选中此选项,仅适用于==,不适用于===

var a = {
    x: 1,
    toString: function () {
        return this.x++;
    }
}
var b = 1;

console.log('Result', (a == b && a != b));

// Another option

var j = {
    x: 1,
    valueOf: function () {
        return this.x++;
    }
}
var k = 1;

console.log('Result', (j == k && j != k));

答案 1 :(得分:0)

事实证明,它可以评估为true,但仅限于您使用

with({
  get a() {
    return Math.floor(Math.random()*2);
  },
  get b() {
    return Math.floor(Math.random()*2);
  }
}){
  // 25% change of logging true
  console.log(a===b && a!==b);
}