value-equal Travis npm package

value-equal determines if two JavaScript values are equal using Object.prototype.valueOf.

In many instances when I’m checking for object equality, what I really want to know is if their values are equal. This is good for:

  • Stuff you keep in localStorage
  • window.history.state values
  • Query strings

Installation

Using npm:

  1. $ npm install --save value-equal

Then with a module bundler like webpack, use as you would anything else:

  1. // using ES6 modules
  2. import valueEqual from 'value-equal'
  3. // using CommonJS modules
  4. var valueEqual = require('value-equal')

The UMD build is also available on unpkg:

  1. <script src="https://unpkg.com/value-equal/umd/value-equal.min.js"></script>

You can find the library on window.valueEqual.

Usage

  1. valueEqual(1, 1) // true
  2. valueEqual('asdf', 'asdf') // true
  3. valueEqual('asdf', new String('asdf')) // true
  4. valueEqual(true, true) // true
  5. valueEqual(true, false) // false
  6. valueEqual({ a: 'a' }, { a: 'a' }) // true
  7. valueEqual({ a: 'a' }, { a: 'b' }) // false
  8. valueEqual([ 1, 2, 3 ], [ 1, 2, 3 ]) // true
  9. valueEqual([ 1, 2, 3 ], [ 2, 3, 4 ]) // false

That’s it. Enjoy!