On Tue, Feb 28, 2012 at 3:38 PM, Domenic Denicola < dome...@domenicdenicola.com> wrote:
> Both IE10 Developer Preview (10.0.8102.0) and IE10 Platform Preview 4 > (10.0.8103.0) output > > number object > object object > > We'll see if tomorrow's drop does any better. > > Sounds like I should file test262 bugs as well. > Oops. I meant for Yes, thanks! to be placed here. Yes, thanks for filing test262 bugs as well. > > From: Mark S. Miller [mailto:erig...@google.com] > Sent: Tuesday, February 28, 2012 14:38 > To: Domenic Denicola > Cc: Allen Wirfs-Brock; Brendan Eich; es-discuss@mozilla.org > Subject: Re: Typeof this in getters (was: eval on non-strings) > > I like the output display on http://jsfiddle.net/CxdMs/16/ a bit better. > I just tried it on very recent versions of 4 or the 5 major browsers. I was > shocked to see that all of them were wrong. > > Correct would be > > number number > object object > > Chrome 19 gave > > number number > object number > > Opera 12, Safari WebKit 5.1.3 (7534.53.10, r109097), and Mozilla FF > Nightly 13 all gave > > number object > object object > > What does the latest IE10 preview do? > > Domenic, as you post bugs against the browsers, please send me the URLs. > Thanks. > > > On Tue, Feb 28, 2012 at 10:03 AM, Domenic Denicola < > dome...@domenicdenicola.com> wrote: > > Specifically regarding ToObject. It's use is important in minimizing > the semantic differences between primitive values and Objects. In ES5 we > eliminated the automatic wrapping of primitive values used as this values > in method invocations. That means that in most cases 42 and (new > Number(42)) can be used interchangeably. If we start leaving out ToObject > calls in random places the distinction between a primitive value and a > wrapped primitive values will start tripping people up. > > This actually is apropos of something I'd been meaning to ask about. > Consider the following JSFiddle: > > http://jsfiddle.net/CxdMs/15/ > > It seems reasonably clear that the result for functions should be object > (non-strict)/number (strict), according to section 10.4.3. > > But for getters, the major browsers disagree, and my spec-fu can't find > anything besides the abovementioned section. Firefox and IE9 say > object/object, while V8 says number/number. And at least one version of > JavaScriptCore we have lying around says number/object. If someone could > walk me through the spec correctly, I'd be happy to file appropriate > browser bugs. > > Note that this is a real-world issue. The Chai.js assertion library is > trying to break free of V8 and become useful in browsers, but is > encountering problems due to this behavior: > > https://github.com/logicalparadox/chai/issues/32 > > Thanks all, > Domenic > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > > > > > -- > Cheers, > --MarkM > -- Cheers, --MarkM
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss