ValueObject
type ValueObject
Члены
equals()
True, если этот и другой Collection имеют равенство значений, как определено в Immutable.is().
equals(other: unknown): boolean
Обсуждение
Примечание: Это эквивалентно Immutable.is(this, other), но предоставлено для возможности цепочных выражений.
hashCode()
Вычисляет и возвращает хешированную идентичность для этого Collection.
hashCode(): number
Обсуждение
Хеш-код Collection используется для определения потенциального равенства и используется при добавлении этого в Set или в качестве ключа в Map, позволяя выполнять поиск с помощью другого экземпляра.
const { List, Set } = require('immutable');
const a = List([ 1, 2, 3 ]);
const b = List([ 1, 2, 3 ]);
assert.notStrictEqual(a, b); // different instances
const set = Set([ a ]);
assert.equal(set.has(b), true);run it
Примечание: hashCode() ОБЯЗАТЕЛЬНО должен возвращать число Uint32. Самый простой способ гарантировать это – вернуть myHash | 0 из пользовательской реализации.
Если два значения имеют одинаковый hashCode, они не гарантированно равны . Если два значения имеют разные hashCodeы, они не должны быть равны.
Примечание: hashCode() не гарантируется, что будет всегда вызываться до equals(). Большинство, но не все, коллекций Immutable.js используют хеш-коды для организации внутренних структур данных, в то время как все коллекции Immutable.js используют равенство при поиске.
© 2014–present, Lee Byron and other contributors
Licensed under the 3-clause BSD License.
https://immutable-js.com/docs/v4.2.1/ValueObject/