Update equals.md

This commit is contained in:
Angelos Chalaris
2018-01-15 18:54:27 +02:00
committed by GitHub
parent c62cf0eff3
commit e3b7813eb7

View File

@ -2,7 +2,7 @@
Performs a deep comparison between two values to determine if they are equivalent.
Check if the two values are identical, if they are both `Date` objects with the same time, using `Date.getTime()` or if they are both non-object values with an equivalent value (non-strict comparison).
Check if the two values are identical, if they are both `Date` objects with the same time, using `Date.getTime()` or if they are both non-object values with an equivalent value (strict comparison).
Check if only one value is `null` or `undefined` or if their prototypes differ.
If none of the above conditions are met, use `Object.keys()` to check if both values have the same number of keys, then use `Array.every()` to check if every key in the first value exists in the second one and if they are equivalent by calling this method recursively.
@ -12,7 +12,7 @@ const equals = (a, b) => {
if (a instanceof Date && b instanceof Date)
return a.getTime() === b.getTime();
if (!a || !b || (typeof a != 'object' && typeof b !== 'object'))
return a == b;
return a === b;
if (a === null || a === undefined || b === null || b === undefined)
return false;
if (a.prototype !== b.prototype) return false;