equals
compare values of any type for equility
Installation
With your favorite package manager:
then in your app:
var equal =
API
equal(a, b, [memos])
equal
takes as many arguments as you like of any type you like and returns a boolean result. Primitive types are equal if they are ===
. While composite types, i.e. Objects and Arrays, are considered equal if they have both the same structure and each sub-value is also equal
. Circular references in composite structures are supported.
Same structure:
// => true
Different Structure:
// => false
Same structure, different values:
// => false
Primitives:
// => false
Some possible gotchas:
null
is not equal toundefined
.NaN
is equal toNaN
(normally not the case).-0
is equal to+0
.- Strings will not coerce to numbers.
- Non enumerable properties will not be checked. They can't be.
arguments.callee
is not considered when comparing arguments