1
John Resig의 prettyDate 함수를 적용한 스매싱 노드 책에서이 코드 스 니펫을 보았습니다. 부울 값인 것처럼 보이는 함수가 문자열을 반환 할 수있는 방법을 알지 못합니다.이 prettyDate 함수는 어떻게 작동합니까?
Date.prototype.__defineGetter__('ago', function() {
var diff = (((new Date()).getTime() - this.getTime())/1000)
, day_diff = Math.floor(diff/86400);
return day_diff == 0 && (
diff < 60 && "just now" ||
diff < 120 && "1 minute ago" ||
diff < 3600 && Math.floor(diff/60) + " minutes ago" ||
diff < 7200 && "1 hour ago" ||
diff < 86400 && Math.floor(diff/3600) + " hours ago") ||
day_diff == 1 && "Yesterday" ||
day_diff < 7 && day_diff + " days ago" ||
Math.ceil(day_diff/7) + " weeks ago";
});
var a = new Date('11/05/1989');
console.log(a.ago); // outputs '1264 weeks ago'
가 봐 "단락 연산자 ". – elclanrs
은 "분명히 부울 값인 것처럼 보입니다"라는 것은 "=="다른 언어에 대해 "틀린 동족"과 같습니다. – dandavis