"Je suis toujours curieux de savoir ce que cela signifie quand il est écrit Date invalide"
C'est simplement la toStringvaleur de l' prototypeobjet de la Datefonction constructeur.
Date.prototype.toString(); // "Invalid Date"
Vous pouvez le remplacer si vous le souhaitez ...
Date.prototype.toString = function() { return "I like turtles." };
var myDate = new Date(1331869050000);
myDate.__proto__; // I like turtles.
Un peu hors sujet, mais __proto__est dans le projet de travail actuel pour la prochaine version d'ECMAScript, le nom de code Harmony.
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
- Ajout de la section B.3.1 avec la
__proto__fonctionnalité spécifiée .
Date.prototypeobjet est un objet Date en lui-même mais sa[[PrimitiveValue]]propriété interne estNaN(cette propriété interne sur les objets date stocke la valeur de l' heure ), donc elle ne représente pas en fait une date valide.Date.prototypeest un objet similaire ànew Date(NaN)...