私__proto__
は廃止されている(または標準の一部ではない)ことを知っていますが、それでも、__proto__
値を見ると「無効な日付」と表示されている場合の意味について知りたいと思っています。
var myDate = new Date(1331869050000);
私__proto__
は廃止されている(または標準の一部ではない)ことを知っていますが、それでも、__proto__
値を見ると「無効な日付」と表示されている場合の意味について知りたいと思っています。
var myDate = new Date(1331869050000);
回答:
「無効な日付と表示されたときの意味について、私はまだ知りたい」
これtoString
は、単にコンストラクター関数のprototype
オブジェクトの値ですDate
。
Date.prototype.toString(); // "Invalid Date"
必要に応じてオーバーライドできます...
Date.prototype.toString = function() { return "I like turtles." };
var myDate = new Date(1331869050000);
myDate.__proto__; // I like turtles.
少し外れたトピックですが__proto__
、ECMAScriptの次のバージョン、コードネームHarmonyの現在の草案にあります。
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
- 特定の
__proto__
機能を備えたセクションB.3.1を追加しました。
Date.prototype
オブジェクト自体がDateオブジェクトであるが、その[[PrimitiveValue]]
内部プロパティはNaN
(日付オブジェクトのこの内部プロパティは時間値を格納する)であるため、それが表されないためです実際には有効な日付。...にDate.prototype
似たオブジェクトnew Date(NaN)
です