실행하는 브라우저에서 콘솔 그것은 말SyntaxError:예기치 않은 토큰**
.
하려고 그것에 노드:
> -1**2
...
...
...
...^C
내 생각에 이것은 산술 식**
는 전 연산자입니다. 이러한 문제는 다른 연산자입니다.
이상하게도,입력*/
두 번째 줄에 있는 트리거가 실행:
> -1**2
... */
-1**2
^^
SyntaxError: Unexpected token **
무슨 일이 일어나고 있습니까?
에서 자바스크립트,그것은 거의 불가능에 모호한 지수 식 즉,당신은 없을 넣어 단항 연산자(
+
/-
/~
/!
/삭제
/void
/typeof
)바로 전에 기초 수입니다.
는 이유에 설명되어 있는 텍스트가 같:
에서 가장 같은 언어 PHP,Python 및 다른 사람에 있는 지수 연산자(일반적으로
^
또는**
),지수 연산자 정의보다 우선 순위가 높 단항 사업자는과 같은 단항+
고 단항-
,하지만 몇 가지 예외가 있습니다. 예를 들어,비난**
자 정의보다 우선순위가 낮 단항 연산자입니다.
그래서 혼란을 피하기로 결정했다는 코드를 제거해야 합니다 모호함을 명시적으로 넣어는 괄호:
(-1)**2
또:
-(1**2)
부,참고바이너리-
치료하지 않는 방법-데이 우선 순위가 낮은--그리고 마지막으로 표현한 결과와 같이 유효한 표현:
0-1**2
으로 이미에서 긍정 위의 견적이,대부분의 프로그래밍 언어를 중위수 연산자를 제공,더 높은 우선 순위를 하는 운영자 이을 단항입니다.
여기에 몇 가지 다른 예제 프로그래밍 언어주는 더 높은 우선을 단항 마이너스는 운영자: