programing

+new Date'에서 더하기 기호는 무엇을 합니까?

sourcejob 2022. 11. 5. 17:31
반응형

+new Date'에서 더하기 기호는 무엇을 합니까?

이걸 몇 군데서 본 적이 있어.

function fn() {
    return +new Date;
}

날짜 객체가 아닌 타임스탬프를 반환하는 것은 알 수 있지만 플러스 기호의 기능에 대한 문서를 찾을 수 없습니다.

설명해주실 분?

그게 바로+단항 연산자이는 다음과 같습니다.

function(){ return Number(new Date); }

http://xkr.us/articles/javascript/unary-add 및 MDN을 참조하십시오.

JavaScript는 입력이 느슨하기 때문에 다음과 같은 상황에서 유형 강제/변환을 수행합니다.

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

JavaScript 날짜는 문자열로 쓸 수 있습니다.

2015년 9월 10일 (목)12:02:54 GMT+0530 (IST)

또는 숫자로:

1441866774938

숫자로 쓰인 날짜로 1970년 1월 1일 00:00:00 이후의 밀리초 수를 지정합니다.

질문에는 할당 연산자 '=' 뒤에 '+'를 추가하고 날짜를 동일한 숫자 값으로 변환함으로써 해결됩니다.

Number(new Date)와 같은 Number() 함수를 사용하여 동일한 작업을 수행할 수 있습니다.

var date = +new Date(); //same as 'var date =number(new Date());'

다음은 "unary add" 연산자에 대한 사양입니다.도움이 됐으면 좋겠는데...

두 날짜 간의 시간 차이를 찾으려면 다음과 같이 하십시오.

var d1 = new Date("2000/01/01 00:00:00"); 
var d2 = new Date("2000/01/01 00:00:01");  //one second later

var t = d2 - d1; //will be 1000 (msec) = 1 sec

typeof t; // "number"

여기서 d1-0 타입을 체크하는 경우, 그 번호도 됩니다.

t = new Date() - 0; //numeric value of Date: number of msec's since 1 Jan 1970.
typeof t; // "number"

그거+는 날짜도 숫자로 변환합니다.

typeof (+new Date()) //"number"

단, 주의해 주십시오.0 + new Date()동등하게 취급되지 않습니다!문자열로 연결됩니다.

0 + new Date() // "0Tue Oct 16 05:03:24 PDT 2018"

이것은 단항 추가 연산자이며 명시적 번호 변환에도 사용됩니다.따라서 사용자가+new Date()를 사용하여 오브젝트의 수치 취득을 시도합니다.valueOf()실타래처럼toString()

new Date().valueOf() == (+new Date)  // true

다음과 같은 작업을 수행합니다.

function(){ 0+new Date를 반환한다.}

다음과 같은 결과를 얻을 수 있습니다.

function(){ 새 날짜().getTime(); }을(를) 반환합니다.

언급URL : https://stackoverflow.com/questions/221539/what-does-the-plus-sign-do-in-new-date

반응형