None of the objects in the examples bz cited are Arrays -- what did you mean?

Symbol must not implicitly convert in *any* object computed-property access to string.

/be

Axel Rauschmayer wrote:
Arrays are a good point, this is where I’d think accidental coercions are most likely. The other use case is object-as-dictionary, which will slowly be replaced by `Object.create(null)` (no need to escape in ES6+) and `Map`.

I don’t feel strongly either way, I just feel that the added spec complexity is not ideal. Especially ToBoolean() not throwing an exception, while ToString() and ToNumber() do.

On 03 Jan 2015, at 04:02, Boris Zbarsky <bzbar...@mit.edu <mailto:bzbar...@mit.edu>> wrote:

On 1/2/15 9:40 PM, Axel Rauschmayer wrote:
Can you give an example?

get: function( num ) {
return num != null ?

// Return just the one element from the set
( num < 0 ? this[ num + this.length ] : this[ num ] ) :

// Return all the elements in a clean array
slice.call( this );
},

That's from jQuery 2.1.3.

And from the same place:

function cache( key, value ) {
// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
if ( keys.push( key + " " ) > Expr.cacheLength ) {
// Only keep the most recent entries
delete cache[ keys.shift() ];
}
return (cache[ key + " " ] = value);
}

That's after looking through about 1/10 of the library. I'll bet there are more. I'll also bet this sort of thing appears in every single major library out there.

-Boris

--
Dr. Axel Rauschmayer
a...@rauschma.de <mailto:a...@rauschma.de>
rauschma.de



_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to