все равно проверил бы строгую идентичность объекта, это было бы здорово. Первоначально я не делал этого явно, чтобы сосредоточить свой вопрос.

уclass и хотите, чтобы случаи были сопоставимы<, >, ==.

За< а также>, valueOf работает отлично.

== отличается, однако, но я хочу иметь это также. Я мог бы легко реализоватьisEqual метод, но это не то же самое.

Мое текущее решение - это кеш для всех созданных объектов:

const cache = {}

class Comparable {
  constructor (id) {
    if (cache[id]) return cache[id]

    cache[id] = this
  }
}

Таким образом, сравнение работает. К сожалению, это также блокирует сборщик мусора.

Есть ли другой способ включенияnew Comparable(42) == new Comparable(42), что не мешает GC?

Ответы на вопрос(2)

Ваш ответ на вопрос