index.js 352 B

123456789101112131415161718192021
  1. 'use strict';
  2. // http://www.ecma-international.org/ecma-262/6.0/#sec-object.is
  3. var numberIsNaN = function (value) {
  4. return value !== value;
  5. };
  6. module.exports = function is(a, b) {
  7. if (a === 0 && b === 0) {
  8. return 1 / a === 1 / b;
  9. }
  10. if (a === b) {
  11. return true;
  12. }
  13. if (numberIsNaN(a) && numberIsNaN(b)) {
  14. return true;
  15. }
  16. return false;
  17. };