Search

연산자

7.1 산술 연산자

7.1.1 이항 산술 연산자

2개의 피연산자를 연산하여 순자 값을 만듭니다.
+
-
*
/
%

7.1.2 단항 산술 연산자

1개의 피연산자를 산술 연산하여 값을 만듭니다.
++
+
-
var x, result; // 선할당 후증가 result = x++; // 5 6 // 선증가 후할당 result = ++x; // 7 7
JavaScript
복사
숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용할 경우 피연산자를 숫자 타입으로 반환한다.

7.1.3 문자열 연결 연산자

연산자 + 는 피연산자중 하나 이상이 문자열일 경우 문자열 연결 연산자로 동작해 문자열을 만들어낸다.
'1' + 2; // '12' 1 + true; // 2 1 + null; // 1
JavaScript
복사
이를 암묵적 타입 변환 or 타입 강제 변환이라고 한다.

7.2 할당 연산자

=
+=
-=
*=
/=
%=
할당문은 표현식인 문으로서 할당된 값으로 평가됩니다.

7.3 비교 연산자

==
===
!=
!==
>
<
>=
<=
동등 비교(==) 연산자는 암묵적 타입변환을 통해 타입을 일치 시킨 후 비교하고, 일치 비교(===) 연산자는 타입과 값 모두 같아야합니다.
이때 NaN을 주의 해야 하는데 자신과 일치하지 않는 유일한 값입니다. 따라서 비교를 위해 Number.isNaN을 사용해야 합니다.
NaN === NaN; // false Number.isNaN(NaN); // ture
JavaScript
복사
또한 +0과 -0을 비교시 true를 반환합니다.
+0 === -0; // true
JavaScript
복사

7.4 삼항 조건 연산자

조건식 ? true 반환 할 값 : false 반환값 으로 if…else로 유사하게 처리 가능합니다.

7.5 논리 연산자

||
&&
!
논리 부정(!)는 언제나 boolean을 반환하는데 boolean이 아닐 경우 암묵적 타입변환이 일어납니다.
!0; // true !'Hello'; // false
JavaScript
복사

7.6 쉼표 연산자

왼쪽 연산자부터 차례대로 피연산자를 평가하고, 마지막 피연산자 평가가 끝날 경우 마지막 피연산자의 결과를 반환합니다.

7.7 그룹 연산자

( )

7.8 typeof 연산자

데이터 타입을 문자열로 반환하며, null을 반환하는 경우는 없고, 함수의 경우 function을 반환합니다.
null의 경우 object를 반환합니다.
또한 선언하지 않은 변수의 경우 undefined를 반환합니다.

7.9 지수 연산자

**
Math.pow 메서드가 같은 동작을 하며, 밑이 음수일 경우 괄호로 묶어주어야 합니다. 또한 할당 연산자와 함꼐 사용할 수 있습니다.

7.10 그 외의 연산자

?
??
delete
new
instnaceof
in

7.11 연산자의 부수 효과

=, ++, —, delete가 추가적인 효과를 일으킵니다.

7.12 연산자 우선순위

너무 많아 헷갈리기 쉬우므로, 그룹 연산자를 통해 명시적으로 나타내는 것이 좋습니다.

7.13 연산자 결합 순서