[Proposal] Array.prototype.includes should evaluate object.toString and/or object.valueOf when determining a match
The problem: If I have a list of objects that contain a toString() prototype that returns a value from the object, Array.prototype.includes does not return true if the value/string returned from the object is a match for the parameter value. Test code: var thingy = function(name) {this.name=name;}; thingy.prototype.valueOf = function(){return this.name}; thingy.prototype.toString = function(){return this.name}; var items = [new thingy('abc'),new thingy('def')]; var inc = items.includes('abc'); alert(items[0]); // alerts abc alert(inc); // returns false While it’s possible to create this as a list of strings using map, this would seem to conserve memory, as well as reduce the complexity of the code to perform this operation. Link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss