¿Cuándo * no * usa el nuevo trabajo en las incorporadas? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es la diferencia entre Array (1) y el nuevo Array (1) en JavaScript? 3 respuestas¿Cuál es la palabra clave 'nueva' en JavaScript? 14 respuestas

Jugando con objetos y constructores de JavaScript integrados, noté algo un poco extraño.

A veces, es posible obtener nuevos objetos llamando a un constructor sinnew. Por ejemplo:

> new Array(1,2,3,4)
[1, 2, 3, 4]
> Array(1,2,3,4)
[1, 2, 3, 4]

Pero a veces esto no funciona:

> Date()
"Thu Jun 05 2014 00:28:10 GMT-0600 (CST)"
> new Date()
Date 2014-06-05T06:28:10.876Z

¿El comportamiento de las funciones incorporadas del constructor no nuevo está definido en alguna parte de la especificación ECMAScript? Tenga en cuenta que este comportamiento es realmente útil; Puedo hacer una copia no dispersa de una matriz llamandoArray.apply(arr), pero solo me sentiría cómodo haciendo eso si fuera multiplataforma.

Respuestas a la pregunta(2)

Su respuesta a la pregunta