Sé que __proto__
está en desuso (o no es parte del estándar) y todo eso, pero todavía tengo curiosidad por saber qué significa cuando dice Fecha no válida cuando miro el __proto__
valor de ..
var myDate = new Date(1331869050000);
Sé que __proto__
está en desuso (o no es parte del estándar) y todo eso, pero todavía tengo curiosidad por saber qué significa cuando dice Fecha no válida cuando miro el __proto__
valor de ..
var myDate = new Date(1331869050000);
Respuestas:
"Todavía tengo curiosidad por saber qué significa cuando dice Fecha no válida"
Ese es simplemente el toString
valor del prototype
objeto de la Date
función constructora.
Date.prototype.toString(); // "Invalid Date"
Puede anularlo si lo desea ...
Date.prototype.toString = function() { return "I like turtles." };
var myDate = new Date(1331869050000);
myDate.__proto__; // I like turtles.
Un poco fuera de tema, pero __proto__
está en el borrador de trabajo actual para la próxima versión de ECMAScript, nombre en clave Harmony.
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
- Se agregó la sección B.3.1 con
__proto__
características específicas .
considerando que hiciste un nuevo objeto Date, no me preocuparía por eso. La razón es, si prueba este código:
var myDate = new Date(1331869050000);
alert(typeof myDate.getMonth != 'undefined') //true
Esto determinará que está heredando los métodos de objetos de fecha y que, de hecho, la fecha está definida.
Si desea realizar más investigaciones, eche un vistazo a esta publicación.
Date.prototype
objeto es un objeto Date por sí mismo, pero su[[PrimitiveValue]]
propiedad interna lo esNaN
(esta propiedad interna en los objetos de fecha almacena el valor de la hora ), por lo que no representa en realidad una fecha válida.Date.prototype
es un objeto similar anew Date(NaN)
...