在 js 中 “==” 是相等比较符,会隐式转换
“===” 是全等比较符
‘==’在比较的时候先比较类型,类型不一致的时候会进行 Number 转换,转换完成后再比较值是否想等,相等返回 ‘true’,不相等返回‘false’。
例:

1
2
3
4
5
6
"" == 0; //  true
0 == "0"; // true
1 == "1"; // true
1 == true; // true
0 == false; // true
null == undefined; // true

‘===’在比较的时候先比较类型,类型不一样时直接返回 false,类型一致再比较值,值相等返回 true,不相等返回 false。
例:

1
2
3
4
5
6
"" === 0; //  false
0 === "0"; // false
1 === "1"; // false
1 === true; // false
0 === false; // false
null === undefined; // false

在 js 中明显‘===’比‘==’要更严谨且不会产生副作用,所以在进行比较是要使用‘===’。
更多详细细节请点击链接