在 JavaScript 中,为了让两个不同的数据类型(例如 numbers 和 strings)的值可以作比较,它必须把一种类型转换为另一种类型。 这叫作 “类型强制转换”。 转换之后,可以像下面这样来比较:
1==1 //true
1==2 //false
1==‘1‘ //true
3==‘3‘ //true
严格相等运算符(=)是相对相等操作符()的另一种比较操作符,与相等操作符转换类型不同,严格相等运算符不会进行类型装换,如果比较的值类型不同,那么在严格相等运算符比较下它们是不相等,如下:
3===‘3‘ //false (由于3是number类型,而‘3‘是String类型)
3===3 //true
不相等运算符(!=)与相等运算符是相反的。 这意味着严格不相等并返回 false 的地方,用严格相等运算符会返回 true,反之亦然。 与相等运算符类似,不相等运算符在比较的时候也会转换值的数据类型。
1 !=‘1‘ //false
1 !=1 //false
1 !=2 //true
严格不相等运算符(!==)与全等运算符是相反的。 这意味着严格不相等并返回 false 的地方,用严格相等运算符会返回 true,反之亦然。 严格不相等运算符不会转换值的数据类型。
示例
3 !== 3 //false
3 !== ‘3‘ //true
4 !== 3 //true
总结
==,!=,> , >=,<=,<都会进行强制类型装换
原文:https://www.cnblogs.com/ff-upday/p/14880802.html