javascript - 是否有必要使用 === 来比较 Javascript 中的字符串或者 == 就足够了?

标签 javascript

<分区>

Possible Duplicate:
JavaScript === vs == : Does it matter which “equal” operator I use?

我能理解为什么 === 在比较数字、 bool 值、空字符串等时由于意外的类型转换是必需的,例如

var foo = 1; 
var bar = true; 
// bar == foo => true
// bar === foo => false

但是,在将变量与非空 字符串文字进行比较时,== 是否会引入错误?在这种情况下,使用 == 是否比 === 更有效?

最佳答案

这个问题在这里被问了很多,所以我会让一个更好的海报然后我自己回答。

看这里:http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

3 个等号表示“没有类型强制的平等”。使用三等号,值的类型也必须相同。

0==false   // true
0===false  // false, because they are of a different type
1=="1"     // true, auto type coercion
1==="1"    // false, because they are of a different type

来源 Difference between == and === in JavaScript

关于javascript - 是否有必要使用 === 来比较 Javascript 中的字符串或者 == 就足够了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11865308/

相关文章:

javascript - 在 npm 审计和组件文件夹不起作用后启动打包程序卡住了

javascript - 自动填充 React Native TextInput 显示结束文本

javascript - 如何从浏览器页面源中隐藏 jquery ajax 中的详细信息

javascript - 使用jquery获取p标签的值

javascript - ionic 获取文本框值

javascript - 尝试将事件记录为 flurry 时,javascript 出现非法字符语法错误

javascript - 在设定时间后销毁对象

javascript - 为什么 keydown() 会出现此错误?

javascript - 在 Javascript 中使用正则表达式从字符串中删除数字和点

javascript - jstree 显示原始 json,而不是树