[Proposal] Array.prototype.includes should evaluate object.toString and/or object.valueOf when determining a match
Mike Simon
nixkuroi at gmail.com
Wed Jun 20 18:27:49 UTC 2018
[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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20180620/4bdbdab3/attachment.html>
More information about the es-discuss
mailing list