题解 | #完全等同#
function identity(val, val2) {
return Object.is(val, val2);
}
下面为Object.is的处理方法,Object.is要求
- +0不等于-0
- NaN等于自身
function identity_(val1, val2) {
if (x === y) {
//因为+0和-0在==下是相等的,但其实是不相等的
return x !== 0 || 1 / x === 1 / y;
}
//因为NaN和NaN在==下是不相等的,但其实是相等的
return x !== x && y !== y;
}