2011-08-23 2 views
3

필자는 필자가 이해할 수없고 온라인에 대한 참조를 찾을 수없는 JavaScript 구문에 대한 참조를 발견했습니다.JavaScript [+ num] 구문의 기능은 무엇입니까?

[+num] 

이 구문은 무엇을 언제 사용합니까?

+0

내 반응은 귀하의 질문에 대답 했습니까? 그렇다면 표시해주십시오. http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work – Joe

답변

4

그것은 숫자로 변환을 강제로. 사업자

+'0'; // 0 
    +[]; // 0 
    +true; // 1 
    +false; // 0 
    +"I'm Not A Number"; // NaN 

: https://developer.mozilla.org/en/JavaScript/Reference/Operators/Arithmetic_Operators#.2b_(Unary_Plus)

+ (단항 플러스)

는 단항 플러스 연산자는 피연산자 선행 및 피연산자 평가하지만 숫자로 변환하려고 , 이미 이 아닌 경우 예를 들어, y = + x는 x의 값을 받아이를 y에 할당합니다. 즉, x가 3이면 y는 값 3을 가지며 x는 값을 3으로 유지합니다. x는 문자열 "3"인 경우 만, Y는 값을 얻을 것 3. 비록 단항 부정 (-)도 단항 플러스는 숫자로 뭔가를 변환하는 가장 빠르고 선호하는 방법이 아닌 숫자를 변환 할 수 있기 때문에 번호에 대해 다른 작업을 수행하지 않습니다. 정수 및 부동 소수점의 문자열 표현 인 은 물론 문자열이 아닌 값 true, false 및 null을 변환 할 수 있습니다. 의 정수는 십진수 및 16 진수 ("0x"가 붙는) 형식을 모두 지원합니다. 음수가 지원됩니다 (16 진수는 지원되지 않음). 특정 값을 구문 분석 할 수 없으면 NaN으로 평가됩니다.

+2

그리고 여기에 대한 참조입니다 : https://developer.mozilla.org/en/JavaScript/Reference/Operators/Arithmetic_Operators # .2b_ (Unary_Plus) –

+0

그리고 "명백하지 않은"것들은 "NaN"으로 바뀌는 것을 잊지 마십시오. 여전히 숫자로 변환 그래서 '+'abc'''+ ({}) ','+ (함수() {}) '등 – maerics

+1

@maerics는 NaN이 역설적 유형'number'의 충분한 :) 그러나 그렇습니다, 그것은주의해야 할 중요한 관찰입니다. 나는 OP가 대괄호에 대해서도 묻고 있다고 생각합니다. 어떤 경우에는 숫자를 포함하는 하나의 요소로 배열을 생성합니다. – Paulpro

관련 문제