Function
isEqual (a, b) Boolean public
Module:
@ember/utils
Defined in packages/@ember/utils/lib/is-equal.ts:4
import { isEqual } from '@ember/utils'; |
- a
- Object
- first object to compare
- b
- Object
- second object to compare
- returns
- Boolean
Compares two objects, returning true if they are equal.
1 2 3 4 |
import { isEqual } from '@ember/utils'; isEqual('hello', 'hello'); // true isEqual(1, 2); // false |
isEqual
is a more specific comparison than a triple equal comparison.
It will call the isEqual
instance method on the objects being
compared, allowing finer control over when objects should be considered
equal to each other.
1 2 3 4 5 6 7 8 9 10 11 |
import { isEqual } from '@ember/utils'; import EmberObject from '@ember/object'; let Person = EmberObject.extend({ isEqual(other) { return this.ssn == other.ssn; } }); let personA = Person.create({name: 'Muhammad Ali', ssn: '123-45-6789'}); let personB = Person.create({name: 'Cassius Clay', ssn: '123-45-6789'}); isEqual(personA, personB); // true |
Due to the expense of array comparisons, collections will never be equal to each other even if each of their items are equal to each other.
1 2 3 |
import { isEqual } from '@ember/utils'; isEqual([4, 2], [4, 2]); // false |