JavaScript 연산자 정리

2024. 12. 16. 23:06개발/JavaScript

반응형

JavaScript의 연산자를 하나씩 정리해보겠습니다.

 


1. 연산자의 개념

연산자는 코드에서 값을 계산하거나 평가하는 데 사용됩니다. 대표적인 예로는 산술 연산자, 할당 연산자, 비교 연산자 등이 있습니다.

참고 문서: MDN 자바스크립트 연산자


2. 값과 표현식

리터럴 (Literal)

리터럴은 코드에서 값을 나타내는 표기법입니다.

  • 숫자 리터럴: 1, 123
  • 문자열 리터럴: 'hello', "world"
  • 템플릿 리터럴: 안녕, ${name}
  • 함수 리터럴: function() {}

표현식 (Expression)

값으로 평가될 수 있는 코드를 의미합니다.

let b;       // 선언문
b = 2;       // 표현식, 할당문

let a = b = 2; // 표현식
console.log(a); // 2 출력

3. 산술 연산자 (Arithmetic Operators)

산술 연산자는 기본적인 수학 연산을 수행합니다.

연산자 설명 예시

+ 더하기 5 + 2 → 7
- 빼기 5 - 2 → 3
* 곱하기 5 * 2 → 10
/ 나누기 5 / 2 → 2.5
% 나머지 5 % 2 → 1
** 거듭제곱 5 ** 2 → 25
console.log(5 + 2); // 7
console.log(5 % 2); // 1
console.log(5 ** 2); // 25 (ES7+)

주의: 문자열과 숫자를 함께 사용할 경우 문자열 연결이 됩니다.

let text = '1' + 1; // 문자열 '11'
console.log(text);

4. 단항 연산자 (Unary Operators)

단항 연산자는 하나의 피연산자에 대해 연산을 수행합니다.

연산자 설명 예시

+ 양수 변환 +5 → 5
- 음수 변환 -5 → -5
! 논리 부정 !true → false
let unaryA = 5;
unaryA = -unaryA; // -5
console.log(unaryA);

let unaryBoolean = true;
console.log(!unaryBoolean); // false

숫자로 변환:

console.log(+false);       // 0
console.log(+null);        // 0
console.log(+undefined);   // NaN
console.log(!!1);          // true

5. 할당 연산자 (Assignment Operators)

할당 연산자는 변수에 값을 할당합니다.

연산자 설명 예시

= 할당 a = 2
+= 더한 후 할당 a += 2 → a = a + 2
-= 뺀 후 할당 a -= 2
*= 곱한 후 할당 a *= 2
/= 나눈 후 할당 a /= 2
%= 나머지를 구한 후 할당 a %= 2
**= 거듭제곱 후 할당 a **= 2
let a = 1;
a += 2; // a = a + 2 → 3
console.log(a);

6. 증감 연산자 (Increment & Decrement Operators)

연산자 설명 예시

++ 1 증가 a++, ++a
-- 1 감소 a--, --a
let a = 0;
console.log(a++); // 0 → 출력 후 증가
console.log(++a); // 2 → 먼저 증가 후 출력

7. 비교 연산자 (Equality Operators)

연산자 설명 예시

== 값이 같으면 true 2 == '2' → true
=== 값과 타입이 같으면 true 2 === '2' → false
!= 값이 다르면 true 2 != 3 → true
!== 값 또는 타입이 다르면 true 2 !== '2' → true
console.log(2 == '2');  // true (타입 무시)
console.log(2 === '2'); // false (타입까지 비교)

const obj1 = { name: 'js' };
const obj2 = { name: 'js' };
console.log(obj1 == obj2);  // false → 메모리 주소가 다름
console.log(obj1.name == obj2.name); // true → 값이 같음

8. 연산자 우선순위

연산자에는 우선순위가 있습니다. 곱셈, 나눗셈이 덧셈, 뺄셈보다 먼저 실행됩니다.

let a = 2, b = 3;
let result = a + b * 4;
console.log(result); // 14 → b * 4 먼저 계산

result = (a + b) * 4;
console.log(result); // 20 → 괄호가 우선순위

우선순위 참고: MDN 연산자 우선순위


마무리하며

연산자는 JavaScript의 기본이자 핵심 개념입니다. 각 연산자의 동작을 이해하고 잘 활용하면 더욱 효율적이고 깔끔한 코드를 작성할 수 있습니다.

반응형