我刚刚在blog post中看到了这个:
我很好奇。在Javascript中,在条件中使用类型强制比在外部使用类型强制更糟吗?有副作用吗?如果你想强迫价值观,那么在不在其中的条件之外这样做。
示例代码:
var initInt = 1
, initString = '1'
// Outside of a conditional
var coerceType = initInt == initString
if (coerceType === true) {
console.log('True')
}
// Inside of a conditional
if (initInt == initString) {
console.log('True')
}
答案 0 :(得分:1)
看起来他们的观点很简单,就是你不应该使用==
进行类型转换(或根本不使用)。
在条件中使用类型强制是好的,只要它非常清楚发生了什么:
if (myNum === +myNumString)
但==
运算符有很多古怪,不一致和难以记忆的行为,如该博文中所述。
由于这个原因,很多人建议不要使用==
运营商。