ValueObject

  1. class ValueObject
成员函数
equals()

当与传入的集合值相等时返回True,相等比较与Immutable.is()的定义一样。

  1. equals(other: any): boolean

注意:此方法与Immutable.is(this,other)等效,为提供链式写法。

hashCode()

返回当前集合的哈希计算值。

  1. hashCode(): number

在添加一个元素到Set中或者用key索引Map时,hashCode会被用于查明两个集合潜在的相等关系,即使他们没用相同的地址。

  1. const a = List([ 1, 2, 3 ]);
  2. const b = List([ 1, 2, 3 ]);
  3. assert(a !== b); // 不是相同地址
  4. const set = Set([ a ]);
  5. assert(set.has(b) === true);

当两个值的hashCode相等时,并不能完全保证他们是相等的,但当他们的hashCode不同时,他们一定是不等的。