Me preguntaba si hay alguna forma de comparar 2 objetos de cadena personalizados que son instancias de clases que amplían String, usando == no funciona y siempre devuelve falso.
Intenté usar valueOf pero sin suerte, el método nunca se llama si ambos operandos son objetos.
Vea un ejemplo a continuación
class MyString extends String { doSomething(someData) { return doSomethingWithData(this, someData); }; valueOf() { console.log('valueOf called'); return this.toString(); }; }; Al hacer console.log(new MyString('hi') == 'hi'); , Yo obtengo
valueOf called true Pero al hacer console.log(new MyString('hi') == new MyString('hi')); , obtengo false .
Entonces, valueOf nunca se llama y la comparación devuelve falso a ciegas, ¿hay alguna forma posible de solucionarlo?