getOwnPropertyDescriptor side effects

Isiah Meadows isiahmeadows at
Thu Jan 12 01:55:13 UTC 2017

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 <bzbarsky at> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list