bry*_*sai 17 javascript equality weak-typing identity-operator
由于这等于运算符(== VS ===)应该在JavaScript中的比较中使用?表示它们基本相同,除了' ==='也确保类型相等,因此' =='可能执行类型转换.在Douglas Crockford的JavaScript:The Good Parts中,建议始终避免' =='.但是,我想知道设计两组相等算子的原始思想是什么.
您是否看到过使用' =='实际上比使用'更合适' ===的情况?
Sar*_*raz 17
考虑比较数字或字符串时的情况:
if (4 === 4)
{
// true
}
Run Code Online (Sandbox Code Playgroud)
但
if (4 == "4")
{
// true
}
Run Code Online (Sandbox Code Playgroud)
和
if (4 === "4")
{
// false
}
Run Code Online (Sandbox Code Playgroud)
这适用于对象和数组.
因此,在上述情况下,您必须明智地选择是否使用==或===
简单的答案是,当你想要在比较期间发生类型强制时,'=='比'==='更有意义.
一个很好的例子是在URL查询字符串中传递的数字.例如,如果您有分页内容,并且page查询参数保存当前页码,那么您可以检查当前页面,if (page == 1) ...即使page实际上"1"不是1.
| 归档时间: |
|
| 查看次数: |
1044 次 |
| 最近记录: |