I know __proto__
is deprecated (or not part of the standard) and all that but I\'m still curious as to what it means when it says Invalid Date when I look at th
The prototype of a Date instance has no defined value. Only the instance has a value. You define it when you instantiate it.
considering you made a new Date object, I wouldn't worry about it. The reason being, if you try this code:
var myDate = new Date(1331869050000);
alert(typeof myDate.getMonth != 'undefined') //true
This will determine that you are inheriting the Date objects methods and that in fact, Date IS defined.
If you would like further investigation, take a look at this post.
"I'm still curious as to what it means when it says Invalid Date"
That's simply the toString
value of the prototype
object of the Date
constructor function.
Date.prototype.toString(); // "Invalid Date"
You can override it if you like...
Date.prototype.toString = function() { return "I like turtles." };
var myDate = new Date(1331869050000);
myDate.__proto__; // I like turtles.
A little off topic, but __proto__
is in the current working draft for the next version of ECMAScript, codename Harmony.
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
- Added section B.3.1 with specifies
__proto__
feature.