在有条件的范围内,类型强制更危险吗?

时间:2015-03-10 18:19:50

标签: javascript types conditional coercion

我刚刚在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') 
}

1 个答案:

答案 0 :(得分:1)

看起来他们的观点很简单,就是你不应该使用==进行类型转换(或根本不使用)。

在条件中使用类型强制是好的,只要它非常清楚发生了什么:

if (myNum === +myNumString)

==运算符有很多古怪,不一致和难以记忆的行为,如该博文中所述。

由于这个原因,很多人建议不要使用==运营商。

Further Reading