2011-10-04 6 views

답변

5

이것은 unary plus operator입니다. 다음에 오는 인수를 숫자가 아닌 숫자로 변환하려고 시도합니다. Date 개체는 getTime() 메서드와 동일한 타임 스탬프 인 숫자로 변환 할 수있는 메서드를 구현합니다.


추가 변수를 사용하지 않고 타임 스탬프를 얻기의 더 읽기 쉽고 확실한 방법은 괄호를 사용하는 것입니다

var timestamp = (new Date()).getTime(); 
+0

ok, 단항 더하기 연산자가 작동하는 방식은 명확합니다. 예를 들어 + "1"은 나를 1로 숫자로 준다; 하지만 왜 새로운 + Date()가 나에게 타임 스탬프를 주는가? 날짜에 시간 소인 문자열이 표시되지 않습니다. {Tue Oct 04 2011 13:04:46 GMT + 0200 (Romance Daylight Time)} – antonjs

+0

타임 스탬프는 Date 객체의 "프리미티브 값"으로 알려져 있습니다. 날짜는 내부적으로 시간 소인으로 저장됩니다. 개체를 숫자로 변환하려고하면 브라우저에서 해당 번호를 제공합니다. – lonesomeday

+0

+ 연산자를 적용 할 때 동일한 결과를 제공하는 매우 기본적인 예제 (기본 값을 가진 객체)를 작성할 수 있습니까? – antonjs

0

자바 스크립트 동적 입력 된 언어이며, 그것은 문맥에 적절한 변환을 시도 할 것이다 .

날짜 개체 앞에 단항 더하기를 추가하면 숫자로 변환됩니다.