On Jan 28, 2015, at 5:03 PM, John-David Dalton <john.david.dal...@gmail.com> wrote:
> Primary issue is in isTypedArray(a): > Uin32Array.prototype.buffer.call(a); > > > Besides the typos, accessing .buffer throws in at least Chrome & Firefox. > Then .buffer is an object so if it doesn't throw there's no .call to execute. the ES6 definition of %TypedArray%.prototype.buffer: %TypedArray%.prototype.buffer is an accessor property whose set accessor function is undefined. Its get accessor function performs the following steps: 1. Let O be the this value. 2. If Type(O) is not Object, throw a TypeError exception. 3. If O does not have a [[ViewedArrayBuffer]] internal slot throw a TypeError exception. 4. Let buffer be the value of O’s [[ViewedArrayBuffer]] internal slot. 5. Return buffer. ES6 expects buffer to be implemented as an accessor property. That means that the probe in my test should be: Object.getOwnProperty(Uint32Array.prototype.__proto__, ‘buffer’).get.call(a); Allen > > -JDD > > > On Wed, Jan 28, 2015 at 4:55 PM, Allen Wirfs-Brock <al...@wirfs-brock.com> > wrote: > > On Jan 28, 2015, at 4:40 PM, John-David Dalton <john.david.dal...@gmail.com> > wrote: > >> Kind of a bummer. The isTypedArray example from >> https://esdiscuss.org/topic/tostringtag-spoofing-for-null-and-undefined#content-59 >> is incorrect. Is there an updated reference somewhere? >> The toStringTag result is handy because it allows checking against several >> tags at once without having to invoke multiple functions each with their own >> try-catch and all that perf baggage. > How is it incorrect? Are you referring to the fact that both typed arrays > and DataView objects have a [[ViewedArrayBuffer]] internal slot. If so, I > think this is a specification but that I should fix. > > Allen > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss