=== 的两个坑:
0 === -0; // true
NaN === NaN; // false
Polyfill:
if (!Object.is) {
Object.is = function (v1, v2) {
// 检查 -0
if (v1 === 0 && v2 === 0) {
return 1 / v1 === 1 / v2;
}
// 检查 NaN
if (v1 !== v1) {
return v2 !== v2;
}
return v1 === v2;
};
}