Свойство 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.19.6/dart-js/JsObject/hashCode.html