Based on these specs at MDN about how the new operator works:
The object returned by the constructor function becomes the result of the whole new expression. If the constructor function doesn't explicitly return an object, the object created in step 1 is used instead. (Normally constructors don't return a value, but they can choose to do so if they want to override the normal object creation process.)
I am lead to believe that the new operator only overrides the return value if one hasn't been provided. Yet it seems that it always does so and you can never override it.
For example
function test() { return 1; }
new test() // returns {} and not 1
Can someone give an example where this is not the case, such as they are referring to in the docs?