티스토리 뷰

1. 연산자의 의미

연산자(operator)는 값을 계산하거나, 변수에 값을 저장하거나, 두 값을 비교하거나, 조건에 따라 다른 코드를 실행하기 위하여 사용하는 기호이다. 자바스크립트에서 연산자는 숫자 계산뿐 아니라 문자열 연결, 변수 값 변경, 비교 판단, 조건 처리에 사용된다.

예를 들어 다음 코드에는 세 가지 연산자가 사용된다.

let x = 10;
let y = 5;
let result = x + y;
 
  • =는 오른쪽 값을 왼쪽 변수에 저장하는 대입 연산자(assignment operator)이다.
  • +는 두 값을 더하는 산술 연산자(arithmetic operator)이다.
  • x + y는 두 변수의 값을 계산하여 하나의 결과를 만든다.

2. 연산자의 주요 종류

자바스크립트 연산자는 기능에 따라 여러 종류로 나눌 수 있다. 이 장에서는 기초 웹프로그래밍에서 가장 자주 사용하는 연산자를 중심으로 다룬다.

구분 기능
산술 연산자 숫자 계산 +, -, *, /, %
대입 연산자 변수에 값 저장 =, +=, -=, *=
비교 연산자 두 값 비교 ==, ===, >, <
논리 연산자 여러 조건 결합 &&, `
조건 연산자 조건에 따라 값 선택 ? :

이 중 산술, 대입, 비교, 조건 처리는 자바스크립트 기초 문법에서 반드시 이해하여야 하는 핵심 내용이다.


3. 산술 연산자

3.1 산술 연산자의 의미

산술 연산자(arithmetic operator)는 숫자 값을 계산할 때 사용한다. 숫자는 코드에 직접 작성한 리터럴(literal)일 수도 있고, 변수에 저장된 값일 수도 있다.

let x = 100 + 50;
위 코드에서 100과 50은 숫자 리터럴이다. + 연산자는 두 숫자를 더한다. 따라서 x에는 150이 저장된다.

변수에 저장된 값도 계산할 수 있다.

let a = 100;
let b = 50;
let x = a + b;

console.log(x);
실행 결과는 다음과 같다.
150
 

3.2 피연산자와 연산자

산술식에서 계산 대상이 되는 값을 피연산자(operand)라고 한다. 계산 방법을 나타내는 기호는 연산자(operator)이다.

100 + 50
 

위 식에서 100과 50은 피연산자이다.  +는 연산자이다.

즉, 연산자는 피연산자 사이에서 어떤 계산을 수행할지 결정한다.


3.3 기본 산술 연산자

연산자 의미 결과
+ 더하기 5 + 2 7
- 빼기 5 - 2 3
* 곱하기 5 * 2 10
/ 나누기 5 / 2 2.5
% 나머지 5 % 2 1
** 거듭제곱 5 ** 2 25
++ 1 증가 x++ 기존 값에서 1 증가
-- 1 감소 x-- 기존 값에서 1 감소

산술 연산자는 숫자 계산에 사용되며, 나머지 연산자 %는 나눗셈의 나머지를 구할 때 사용한다. 거듭제곱 연산자 **는 왼쪽 값을 오른쪽 값만큼 제곱한다.


3.4 더하기 연산자

+는 두 숫자를 더한다.

let x = 5;
let y = 2;
let z = x + y;

console.log(z);

실행 결과는 다음과 같다.

7

 

3.5 빼기 연산자

-는 왼쪽 값에서 오른쪽 값을 뺀다.

let x = 5;
let y = 2;
let z = x - y;

console.log(z);
실행 결과는 다음과 같다.
3
 

3.6 곱하기 연산자

  • *는 두 숫자를 곱한다.
let x = 5;
let y = 2;
let z = x * y;

console.log(z);
실행 결과는 다음과 같다.
10
 

 

3.7 나누기 연산자

/는 왼쪽 값을 오른쪽 값으로 나눈다.

let x = 5;
let y = 2;
let z = x / y;

console.log(z);
실행 결과는 다음과 같다.
2.5
 

3.8 나머지 연산자

%는 나눗셈의 나머지를 구한다.

let x = 5;
let y = 2;
let z = x % y;

console.log(z);
실행 결과는 다음과 같다.
1
5를 2로 나누면 몫은 2이고 나머지는 1이다. 따라서 5 % 2의 결과는 1이다.

나머지 연산자는 짝수와 홀수 판별에 자주 사용된다.

let number = 7;

if (number % 2 === 0) {
  console.log("짝수");
} else {
  console.log("홀수");
}
실행 결과는 다음과 같다.
홀수
 

 

3.9 증가 연산자와 감소 연산자

++는 변수의 값을 1 증가시킨다.
--는 변수의 값을 1 감소시킨다.

let count = 5;

count++;

console.log(count);
 

실행 결과는 다음과 같다.

6
 

감소 연산자는 다음과 같이 사용한다.

let count = 5;

count--;

console.log(count);
실행 결과는 다음과 같다.
4
 

증가와 감소 연산자는 반복문, 카운터, 점수 계산, 남은 횟수 처리 등에 자주 사용된다.


3.10 거듭제곱 연산자

**는 왼쪽 값을 오른쪽 값만큼 거듭제곱한다. x ** y는 Math.pow(x, y)와 같은 결과를 만든다.

let x = 5;
let z = x ** 2;

console.log(z);
실행 결과는 다음과 같다.
25
같은결과를 Math.pow()로 작성할 수도 있다.
let x = 5;
let z = Math.pow(x, 2);

console.log(z);
실행 결과는 다음과 같다.
25
 

3.11 연산자 우선순위

연산자가 여러 개 함께 사용되면 자바스크립트는 정해진 우선순위에 따라 계산한다. 일반적인 수학 계산처럼 곱하기와 나누기가 더하기와 빼기보다 먼저 계산된다. 괄호 ()를 사용하면 괄호 안의 식이 먼저 계산된다.

let result = 100 + 50 * 3;

console.log(result);
 

실행 결과는 다음과 같다.

250
 

50 * 3이 먼저 계산되어 150이 되고, 그 다음 100 + 150이 계산된다.

괄호를 사용하면 결과가 달라진다.

let result = (100 + 50) * 3;

console.log(result);
실행 결과는 다음과 같다.
450
 

100 + 50이 먼저 계산되어 150이 되고, 그 다음 150 * 3이 계산된다.


4. 대입 연산자

4.1 대입 연산자의 의미

대입 연산자(assignment operator)는 변수에 값을 저장할 때 사용한다. 여기서 assignment는 ‘과제’가 아니라 대입 또는 할당의 의미이다. 가장 기본적인 대입 연산자는 =이다.

let x = 10;
 

위 코드는 숫자 10을 변수 x에 저장한다는 뜻이다.
수학에서 사용하는 “같다”의 의미가 아니라, 오른쪽 값을 왼쪽 변수에 넣는 동작이다.


4.2 기본 대입 연산자 =

let score = 90;

console.log(score);
실행 결과는 다음과 같다.
90
 

score 변수에 숫자 90이 저장된다.변수에는 계산 결과도 저장할 수 있다.

let x = 10;
let y = 5;
let total = x + y;

console.log(total);
실행 결과는 다음과 같다.
15
 

4.3 복합 대입 연산자

복합 대입 연산자는 산술 연산과 대입을 한 번에 처리한다. 예를 들어 x += y는 x = x + y와 같은 의미이다.

연산자 같은의미 설명
= x = y x = y y 값을 x에 저장
+= x += y x = x + y x에 y를 더하여 다시 x에 저장
-= x -= y x = x - y x에서 y를 빼서 다시 x에 저장
*= x *= y x = x * y x에 y를 곱하여 다시 x에 저장
/= x /= y x = x / y x를 y로 나누어 다시 x에 저장
%= x %= y x = x % y x를 y로 나눈 나머지를 x에 저장
**= x **= y x = x ** y x를 y만큼 거듭제곱하여 x에 저장

4.4 += 연산자

+=는 기존 변수 값에 오른쪽 값을 더한 뒤 다시 변수에 저장한다.

let x = 10;

x += 5;

console.log(x);
 

실행 결과는 다음과 같다.

15
 

위 코드는 다음 코드와 같다.

let x = 10;

x = x + 5;

console.log(x);
 

+=는 점수 증가, 수량 증가, 총합 계산에 자주 사용된다.

let score = 0;

score += 10;
score += 20;

console.log(score);
 

실행 결과는 다음과 같다.

30
 

4.5 -= 연산자

-=는 기존 변수 값에서 오른쪽 값을 뺀 뒤 다시 변수에 저장한다.

let life = 3;

life -= 1;

console.log(life);
 

실행 결과는 다음과 같다.

2
 

게임의 생명 감소, 재고 수량 감소, 남은 시간 감소 등에 사용할 수 있다.


4.6 *= 연산자

*=는 기존 변수 값에 오른쪽 값을 곱한 뒤 다시 변수에 저장한다.

let price = 10000;

price *= 2;

console.log(price);
실행 결과는 다음과 같다.
20000
 

4.7 /= 연산자

/=는 기존 변수 값을 오른쪽 값으로 나눈 뒤 다시 변수에 저장한다.

let total = 10000;

total /= 2;

console.log(total);
실행 결과는 다음과 같다.
5000
 

4.8 %= 연산자

%=는 기존 변수 값을 오른쪽 값으로 나눈 나머지를 다시 변수에 저장한다.

let x = 10;

x %= 3;

console.log(x);
실행 결과는 다음과 같다.
1
 

10을 3으로 나누면 나머지는 1이다. 따라서 x에는 1이 저장된다.


4.9 문자열에서의 +=

+=는 숫자뿐 아니라 문자열에도 사용할 수 있다. 문자열에서 +=는 기존 문자열 뒤에 새로운 문자열을 이어 붙인다.

let text = "Hello";

text += " World";

console.log(text);
실행 결과는 다음과 같다.
Hello World
 

한글 문자열도 같은 방식으로 연결할 수 있다.

let message = "안녕하세요.";

message += " 자바스크립트입니다.";

console.log(message);
실행 결과는 다음과 같다.
안녕하세요. 자바스크립트입니다.
 

5. 비교 연산자

5.1 비교 연산자의 의미

비교 연산자(comparison operator)는 두 값을 비교하고, 그 결과를 true 또는 false로 반환한다. 비교 결과는 조건문에서 판단 기준으로 사용된다.

let x = 5;
let result = x > 3;

console.log(result);
실행 결과는 다음과 같다.
true
 

x의 값은 5이고, 5 > 3은 참이므로 결과는 true이다.


5.2 주요 비교 연산자

연산자 의미
== 값이 같다 5 == "5" true
=== 값과 자료형이 모두 같다 5 === "5" false
!= 값이 같지 않다 5 != 8 true
!== 값 또는 자료형이 같지 않다 5 !== "5" true
> 크다 5 > 8 false
< 작다 5 < 8 true
>= 크거나 같다 5 >= 5 true
<= 작거나 같다 5 <= 8 true

비교 연산자는 항상 true 또는 false를 반환한다. ==는 값만 비교하고, ===는 값과 자료형을 함께 비교한다.


5.3 ==와 ===의 차이

==는 두 값이 같은지 비교한다. 이때 자료형이 다르면 자바스크립트가 자동으로 자료형을 변환하여 비교할 수 있다.

console.log(5 == "5");
실행 결과는 다음과 같다.
true
숫자 5와 문자열 "5"는 자료형이 다르지만, ==는 값이 같다고 판단한다.

===는 값과 자료형이 모두 같은지 비교한다.

console.log(5 === "5");
실행 결과는 다음과 같다.
false
숫자 5와 문자열 "5"는 값처럼 보이는 내용은 같지만 자료형이 다르다. 따라서 ===의 결과는 false이다.

웹페이지 입력값을 비교할 때는 자료형 차이로 인한 오류가 발생할 수 있으므로 ===를 사용하는 습관이 필요하다.


5.4 문자열 비교

문자열도 비교 연산자로 비교할 수 있다. 문자열 비교는 문자 순서를 기준으로 이루어진다.

let text1 = "A";
let text2 = "B";
let result = text1 < text2;

console.log(result);
실행 결과는 다음과 같다.
true
 

문자 "A"는 "B"보다 앞에 있으므로 text1 < text2의 결과는 true이다.

  • 문자열 숫자는 숫자처럼 보이더라도 문자열 기준으로 비교될 수 있다.
let text1 = "20";
let text2 = "5";
let result = text1 < text2;

console.log(result);
실행 결과는 다음과 같다.
true
 

숫자로 보면 20은 5보다 크지만, 문자열 비교에서는 첫 글자인 "2"와 "5"를 비교한다. "2"가 "5"보다 앞에 있으므로 "20" < "5"는 true가 된다.


5.5 서로 다른 자료형 비교

서로 다른 자료형을 비교하면 예상하기 어려운 결과가 나올 수 있다. 문자열과 숫자를 비교할 때 자바스크립트는 문자열을 숫자로 변환하여 비교하려고 한다. 빈 문자열은 0으로 변환되고, 숫자로 바꿀 수 없는 문자열은 NaN이 되어 비교 결과가 대부분 false가 된다.

console.log(2 < "12");
console.log(2 < "John");
실행 결과는 다음과 같다.
true
false
 
  • "12"는 숫자 12로 변환될 수 있으므로 2 < 12가 되어 true이다.
  • "John"은 숫자로 변환할 수 없으므로 비교 결과는 false이다.

입력값을 숫자로 비교하여야 할 때는 먼저 숫자로 변환하는 것이 안전하다.

let age = "20";

age = Number(age);

if (age >= 18) {
  console.log("성인");
} else {
  console.log("미성년자");
}
실행 결과는 다음과 같다.
성인
 
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/07   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함