So: Here's the specification argument for why Firefox is in the wrong here: We're evaluating a `new` expression, and so we end up in [13.3.5.1.1 EvaluateNew](https://tc39.es/ecma262/#sec-evaluatenew). Step 6 is Construct, which in turn calls into [10.2.2 [[Construct]]](https://tc39.es/ecma262/#sec-construct). In this case, we take step 6, and initializes instance elements before evaluating the constructor in step 8. So this should work. I'll dig though to see why we don't do it in this order tomorrow.
Bug 1757162 Comment 6 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
So: Here's the specification argument for why Firefox is in the wrong here: We're evaluating a `new` expression, and so we end up in [13.3.5.1.1 EvaluateNew](https://tc39.es/ecma262/#sec-evaluatenew). Step 6 is Construct, which in turn calls into [10.2.2 [[Construct]]](https://tc39.es/ecma262/#sec-ecmascript-function-objects-construct-argumentslist-newtarget). In this case, we take step 6, and initializes instance elements before evaluating the constructor in step 8. So this should work. I'll dig though to see why we don't do it in this order tomorrow.