下面代码中 a 在什么情况下会打印 1?(考察隐式转换)

76 阅读1分钟

下面代码中 a 在什么情况下会打印 1

let a = ?
if(a == 1 && a == 2 && a == 3) { 
    console.log('1'); 
}

主要考察==的隐式转换 toString和valueof都可以

let a = { 
    i: 1, 
    toString () { 
        return a.i++ } 
    //valueof () { 
        //return a.i++ } 
} 
if(a == 1 && a == 2 && a == 3) { 
    console.log('1'); 
}