I was expecting the error to throw on invoking the getter. Calling `Object.getOwnPropertyDescriptor` should *never* do that (spec invariant).
On Wed, Jan 11, 2017, 15:30 Boris Zbarsky <[email protected]> wrote: > On 1/11/17 3:12 PM, Isiah Meadows wrote: > > Okay. The error stack being constructed that early is odd, though. > > I'm not sure I follow. The error stack in SpiderMonkey and V8 (and > JavaScriptCore too, afaict) is captured at the point when the Error > object is created. The captured thing is information that can be used > to construct a stack string later. > > Then getting .stack constructs the stack string. This operation is > somewhat expensive, so is deferred until someone asks. > > In V8, the stringification process includes an explicit > script-modifiable hook: the "prepareStackTrace" property of the Error > constructor. > > Is the odd part the stack capture during Error object construction? > Were you expecting it to only be captured at the throw point? > > -Boris >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

