#object-is [![Version Badge][2]][1] [![Build Status][3]][4] [![dependency status][5]][6] [![dev dependency status][7]][8] [![npm badge][11]][1] [![browser support][9]][10] ES6-compliant shim for Object.is - differentiates between -0 and +0, and can compare to NaN. Essentially, Object.is returns the same value as === - but true for NaN, and false for -0 and +0. ## Example ```js Object.is = require('object-is'); var assert = require('assert'); assert.ok(Object.is()); assert.ok(Object.is(undefined)); assert.ok(Object.is(undefined, undefined)); assert.ok(Object.is(null, null)); assert.ok(Object.is(true, true)); assert.ok(Object.is(false, false)); assert.ok(Object.is('foo', 'foo')); var arr = [1, 2]; assert.ok(Object.is(arr, arr)); assert.notOk(Object.is(arr, [1, 2])); assert.ok(Object.is(0, 0)); assert.ok(Object.is(-0, -0)); assert.notOk(Object.is(0, -0)); assert.ok(Object.is(NaN, NaN)); assert.ok(Object.is(Infinity, Infinity)); assert.ok(Object.is(-Infinity, -Infinity)); ``` ## Tests Simply clone the repo, `npm install`, and run `npm test` [1]: https://npmjs.org/package/object-is [2]: http://vb.teelaun.ch/ljharb/object-is.svg [3]: https://travis-ci.org/ljharb/object-is.svg [4]: https://travis-ci.org/ljharb/object-is [5]: https://david-dm.org/ljharb/object-is.svg [6]: https://david-dm.org/ljharb/object-is [7]: https://david-dm.org/ljharb/object-is/dev-status.svg [8]: https://david-dm.org/ljharb/object-is#info=devDependencies [9]: https://ci.testling.com/ljharb/object-is.png [10]: https://ci.testling.com/ljharb/object-is [11]: https://nodei.co/npm/object-is.png?downloads=true&stars=true