내가 본 적이없는 흥미로운 점은 다른 질문에 게시되었습니다. 그들은 여분의 +
가 문자열로 변환 생각JavaScript는`+ + i`를 어떻게 해석합니까?
var i = + +1;
,하지만 그들은 단순히 변환 원인 인 문자열에 추가했다 : 그들은 뭔가를했다.
그러나 이것은 다음과 같은 질문으로 나를 안내합니다.
나는 실제로 컴파일러 오류가 될 것이라고 예상했지만 자바 스크립트 (적어도 Chrome에서는)는 정상적으로 처리되었습니다 ... 기본적으로 아무 것도 수행하지 않습니다. Demo
var i = 5;
var j = + +i;
document.body.innerHTML = i === j ? 'Same' : 'Different';
사람이 실제로 발생 있는지와 자바 스크립트를이 과정에 무엇을하고 있는지 알고
내가 보여 조금 JSFiddle을 만들어?++
은 (예,
++5
가 나는 그것이
++i
처럼 취급 것이지만,
i
증가하지 않으며, 당신은 당신이 할 수없는 값 (예를 들어,
+ +5
)와 함께 할도 수 어쩌면 생각
참조 오류).
간격도 영향을 미치지 않습니다 (예 : + + 1
및 + +1
은 동일 함).
나의 가장 좋은 추측은 근본적으로 긍정적/부정적 징후로 취급하고 함께 모으는 것입니다. 1 == - -1
및 -1 == + -1
처럼 보일 수 있지만 이상하게 보입니다.
이 동작이 이상한 것입니까, 아니면 표준 어딘가에 문서화되어 있습니까?
그것은 나에게 보인다. 왼쪽 피연산자가 없으면 오른쪽 피연산자를 반환합니다. – Amy
'+'또는'-' 연산자는 사이에 공백을 넣으면 단순한 '+/-'연산자입니다. 당신은'+ + + 3'을 할 수 있고 그것은'3'을 줄 것입니다. 이상한 점은 없습니다 – galchen
http://pythontutor.com/javascript.html#mode=edit –