JavaScript 연산자는 변수와 값에 대해 연산을 수행합니다. 연산자는 크게 할당, 비교, 산술, 논리, 조건(삼항) 등 여러 종류로 분류할 수 있습니다.
할당 연산자는 값 또는 표현식의 결과를 변수에 할당하는 데 사용됩니다.
연산자 | 설명 | 예시 |
---|---|---|
= | 값을 할당합니다. | x = 5 |
+= | 값을 더한 후 할당합니다. | x += 5 |
-= | 값을 뺀 후 할당합니다. | x -= 5 |
*= | 값을 곱한 후 할당합니다. | x *= 5 |
/= | 값을 나눈 후 할당합니다. | x /= 5 |
비교 연산자는 두 값이나 표현식을 비교하여 true 또는 false 값을 반환합니다.
연산자 | 설명 | 예시 |
---|---|---|
== | 동등 비교. 타입 변환 후 값이 같으면 true 반환. | 5 == "5" |
=== | 일치 비교. 값과 타입이 모두 같으면 true 반환. | 5 === "5" |
!= | 불일치 비교. 값이 다르면 true 반환. | 5 != "5" |
!== | 엄격한 불일치 비교. 값 또는 타입이 다르면 true 반환. | 5 !== "5" |
> | 크다. | 5 > 3 |
< | 작다. | 5 < 3 |
>= | 크거나 같다. | 5 >= 5 |
<= | 작거나 같다. | 5 <= 5 |
산술 연산자는 수학적 연산을 수행하고, 그 결과를 반환합니다.
연산자 | 설명 | 예시 |
---|---|---|
+ | 더하기 | 5 + 2 |
- | 빼기 | 5 - 2 |
* | 곱하기 | 5 * 2 |
/ | 나누기 | 5 / 2 |
% | 나머지 | 5 % 2 |
++ | 증가 연산자 | x++ |
-- | 감소 연산자 | x-- |
논리 연산자는 불리언 값들 사이의 논리적 연산을 수행합니다.
연산자 | 설명 | 예시 |
---|---|---|
&& | 논리적 AND. 모든 피연산자가 true이면 true 반환. | true && false |
\|\| | 논리적 OR. 피연산자 중 하나라도 true이면 true 반환. | true \|\| false |
! | 논리적 NOT. 피연산자의 불리언 값을 반전. | !true |
조건 연산자는 주어진 조건에 따라 두 값 중 하나를 반환합니다.
예시 | 설명 |
---|---|
조건 ? 값1 : 값2 | 조건이 true이면 값1을, 그렇지 않으면 값2를 반환합니다. |
const age = 18;
const canVote = age >= 18 ? 'Yes' : 'No';
console.log(canVote); // Yes
JavaScript에서 ==
(동등 연산자)와 ===
(일치 연산자)는 모두 값의 동등성을 비교할 때 사용되지만, 비교를 수행하는 방식이 다릅니다.
==
연산자는 두 값이 동등한지 비교할 때, 타입 변환을 허용합니다. console.log(0 == false); // true, 타입 변환으로 두 값은 동등하다고 평가됩니다.
console.log(1 == "1"); // true, 문자열 "1"은 숫자 1로 변환됩니다.
console.log(null == undefined); // true, null과 undefined는 동등하다고 평가됩니다.
console.log(0 === false); // false, 타입이 다릅니다.
console.log(1 === "1"); // false, 하나는 숫자이고 다른 하나는 문자열입니다.
console.log(null === undefined); // false, null과 undefined는 타입이 다릅니다.
== (동등 연산자)는 타입 변환을 수행하여 두 값이 동등한지 비교합니다.
=== (일치 연산자)는 타입 변환 없이 두 값의 타입과 값을 모두 비교합니다.
일반적으로 예상치 못한 타입 변환으로 인한 버그를 피하기 위해, === (일치 연산자) 사용을 권장합니다.