나는 __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)...