'+ 새 Date'에서 할 무엇을 몇 places더하기 기호 난에 본 적이
function fn() {
return +new Date;
}
그리고 나는 날짜 객체가 아닌 타임 스탬프를 반환하는 것을 볼 수 있지만, 내가 할 수있는 더하기 기호가 무엇을하고 있는지에 대한 문서를 찾을 수 없습니다.
누구든지 설명 할 수 있습니까?
'+ 새 Date'에서 할 무엇을 몇 places더하기 기호 난에 본 적이
function fn() {
return +new Date;
}
그리고 나는 날짜 객체가 아닌 타임 스탬프를 반환하는 것을 볼 수 있지만, 내가 할 수있는 더하기 기호가 무엇을하고 있는지에 대한 문서를 찾을 수 없습니다.
누구든지 설명 할 수 있습니까?
자바 스크립트는 느슨한 타입이므로 특정 상황에서 강제/형식 변환을 수행합니다
http://blog.jeremymartin.name/2008/03/understanding-loose-typing-in.html
http://www.jibbering.com/faq/faq_notes/type_convert.html
다른 예 :
>>> +new Date()
1224589625406
>>> +"3"
3
>>> +true
1
>>> 3 == "3"
true
이 수행 정확히 같은 일이 같은 :
function(){ return 0+new Date; }같은 결과 갖는다
:
참조function(){ return Number(new Date); }
: http://xkr.us/articles/javascript/unary-add/
과의 MDN 다음 + 단항 조작
function(){ return new Date().getTime(); }
Nope on 0 + new Date.처음에는 날짜를 문자열로 변환 한 다음 "0"을 앞에 붙입니다 (예 : "0Tue Oct 21 2008 20:38:05 GMT-0400"); –
1 * 새로운 날짜 일 것이지만 1 + 새로운 날짜 -> 문자열 –
나중에 새로운 날짜/1에 대해서도 마찬가지입니다. –
여기에 "단항 추가"연산자에 관한 specification이 있습니다. ... 희망은 도움이
자바 스크립트 날짜는 문자열로 기록 될 수 :
목 2015년 9월 10일 12시 02분 54초 (그리니치 표준시) + 0530 (IST)
또는 숫자로
:숫자로 쓰여진 날짜는 1970 년 1 월 1 일 00:00:00 이후의 밀리 초 수를 지정합니다.
질문에 올 때 할당 연산자 '='뒤에 '+'를 추가하여 Date를 동일한 숫자 값으로 변환합니다.
숫자 (new Date())와 같은 Number() 함수를 사용하여 동일한 결과를 얻을 수 있습니다.
var date = +new Date(); //same as 'var date =number(new Date());'
그것은 당신이 +new Date()
를 호출 할 때, 우리가 toString()
valueOf()
를 사용하여 해당 개체의 숫자 값을 얻기 위해 시도 연산자와도 명시 적 숫자 변환에 사용을 추가 단항
입니다 new Date().valueOf() == (+new Date) // true
좋은 물건 - "Date 유형의 값은 valueOf를 통해 해당 숫자 값으로 변환됩니다()), 이는 UNIX 신기원 이후의 밀리 초 수입니다. " – Kon
놀랍지 만 10 년 이상 동안 자바 스크립트를 사용할 수있는 방법은 놀랍지 만 ... 이와 같은 너겟은 여전히 알지 못했다. – roufamatic
그러나 왜 당신은 date 객체에 정의 된'getTime' 메소드를 사용하지 않을까요?! – tkone