20 lines
369 B
JavaScript
20 lines
369 B
JavaScript
"use strict";
|
|
|
|
/* https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.is */
|
|
|
|
var NumberIsNaN = function (value) {
|
|
return value !== value;
|
|
};
|
|
|
|
module.exports = function is(a, b) {
|
|
if (a === 0 && b === 0) {
|
|
return 1 / a === 1 / b;
|
|
} else if (a === b) {
|
|
return true;
|
|
} else if (NumberIsNaN(a) && NumberIsNaN(b)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
|