Свойство hashCode
Хеш-код этого объекта.
Хеш-код — это целое число, представляющее состояние объекта, которое влияет на сравнения с помощью operator ==.
У всех объектов есть хеш-коды. По умолчанию хеш-код, реализованный в Object, представляет только идентичность объекта, так же, как по умолчанию operator == считает объекты равными только в случае их идентичности (см. identityHashCode).
Если operator == переопределен для использования состояния объекта вместо идентичности, то хеш-код также должен быть изменён для представления этого состояния, в противном случае объект не может быть использован в структурах данных на основе хешей, таких как реализации по умолчанию Set и Map.
Хеш-коды должны быть одинаковыми для объектов, которые равны друг другу в соответствии с operator ==. Хеш-код объекта должен меняться только в том случае, если объект изменяется таким образом, что это влияет на равенство. Больше никаких требований к хеш-кодам нет. Они не должны быть согласованными между выполнением одной и той же программы, и нет гарантий распределения.
Объекты, которые не равны, могут иметь одинаковый хеш-код. Технически даже разрешается, чтобы все экземпляры имели одинаковый хеш-код, но если столкновения происходят слишком часто, это может снизить эффективность структур данных на основе хешей, таких как HashSet или HashMap.
Если подкласс переопределяет hashCode, то он должен также переопределить operator == для поддержания согласованности.
Реализация
int get hashCode => 0;
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-js/JsObject/hashCode.html