Array.prototype.contains
Boris Zbarsky
bzbarsky at MIT.EDU
Fri Mar 7 06:06:58 PST 2014
On 3/6/14 6:45 PM, C. Scott Ananian wrote:
> And don't forget the related `DOMTokenList`, which is in
> Element.classList and thus used by everyone always.
How is it related? DOMTokenList is indeed an API for a list of strings
(sort of; they're pretty restricted in terms of what strings they can
be), but has a bunch of other functionality that DOMStringList does not
have and that ES arrays don't have and shouldn't have. toggle() doesn't
make sense on arrays in general, for example.
> The `contains` and `item` methods are in `DOMTokenList`, so they
> probably shouldn't be removed from `DOMStringList`.
I think I missed a logical connection here. Can you expand on the
reasoning here?
> But I don't think anyone was seriously proposing that
_I_ am seriously proposing that DOMStringList go away compeletely and
APIs that return it just return Arrays. Not subclasses of Arrays, just
Arrays.
> (and maybe `DOMTokenList` would also be related to `Array`?)
DOMTokenList is writable and the writes must enforce all sorts of
invariants that Arrays do not enforce, so making it a subclass of Array
would be slightly odd, actually. The main benefit would be to get map()
and company working on it, which may be worth it.
-Boris
More information about the es-discuss
mailing list