Il nuovo ES 6 (Harmony) introduce il nuovo oggetto Set . L'algoritmo di identità utilizzato da Set è simile ===
all'operatore e quindi non molto adatto per confrontare oggetti:
var set = new Set();
set.add({a:1});
set.add({a:1});
console.log([...set.values()]); // Array [ Object, Object ]
Come personalizzare l'uguaglianza per gli oggetti Set per fare un confronto profondo degli oggetti? C'è qualcosa come Java equals(Object)
?
===
operatore. L'oggetto set ES6 non ha alcun metodo di confronto. Il.has()
metodo e il.add()
metodo funzionano solo perché sono lo stesso oggetto reale o lo stesso valore per una primitiva.