由于双等号的存在,使用中会存在一些问题,例如:
重读前端中列出了双等号的转换方式:
有时候不知道会拿到什么类型的数据时,为了严格的控制数据类型和可能存在的状况bug,还是建议用三等来判断,把拿到的不确定数据都进行类型转换之后再做比较。
目前js设计中的存在了早期的不合理设计,在 JavaScript 设计原则“don’t break the web”之下,已经无法修正了,这种可控类型问题可以考虑用typescript解决,团队的规范也建议停用双等号以减少出现bug的几率。
在javascript判断两个变量值是否相等,可以使用 ==(等同)操作符 或者 ===(恒等)操作符。
== 操作符
“等同”操作符,简单判断2个变量值是否相等,变量类型不一致时,会做类型转换,即忽略变量的类型进行比较
例子1
var str1 = "123456" // 字符串
var str2 = "123456" // 字符串
alert(str1==str2) // 打印出 true,即相等
扩展资料
js中==和===区别:
简单来说: == 代表相同, ===代表严格相同,当进行双等号比较时候: 先检查两个操作数数据类型,如果相同, 则进行===比较, 如果不同, 则愿意为你进行一次类型转换, 转换成相同类型后再进行比较, 而===比较时, 如果类型不同,直接就是false。
双等号==:
(1)如果两个值类型相同,再进行三个等号(===)的比较;
(2)如果两个值类型不同,也有可能相等,需根据以下规则进行类型转换在比较:
1)如果一个是null,一个是undefined,那么相等;
2)如果一个是字符串,一个是数值,把字符串转换成数值之后再进行比较。