[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Eq](https://evolu.dev/docs/api-reference/common/Eq) › eqSameValueZero

```ts
function eqSameValueZero<A>(x: A, y: A): boolean;
```

Defined in: [packages/common/src/Eq.ts:78](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Eq.ts#L78)

Compares two values using SameValueZero equality.

SameValueZero is the standard equality algorithm used by `Map`, `Set`, and
`Array.prototype.includes`. Like SameValue, it considers `NaN` equal to
itself, but unlike SameValue, it considers `0` and `-0` equal.

### Example

```ts

assertTrue(eqSameValueZero(NaN, NaN));
assertTrue(eqSameValueZero(0, -0));
assertFalse(eqSameValueZero({}, {}));
```