应满足以下条件为"x"
分配什么值:
// let x = ?;
console.log(`${x}` != '' + x) // true
console.log(`${x}` !== '' + x) // true
答案 0 :(得分:0)
类似的事情可以奏效,但这很棘手,toString()
对象的方法x
会在每次调用时更改其内部状态并返回它。发生这种情况是因为implicit coercion在尝试将x
强制转换为字符串时生效(如果找到,它将使用对象的toString()
方法)。
let x = {
counter: 1,
toString: () => x.counter++
}
console.log('' + x);
console.log(`${x}`);
console.log(`${x}` != '' + x) // true
console.log(`${x}` !== '' + x) // true