[JavaScript] 자바스크립트의 연산자

연산자

ECMAScript의 연산자는 문자열, 숫자, Boolean, 객체까지 데이터를 폭넓게 조작할 수 있다.


증감 연산자

증감 연산자는 C 언어에서 차용한 것이며, 피연산자의 앞과 뒤 어디에나 샤용할 수 있다. ++는 1을 더하고, --는 1을 뺀다.

1
2
3
4
5
var age = 29;
++age; // age = age + 1; 과 동일

var count = 20;
--count; // count = count - 1; 과 동일

단항 플러스와 단항 마이너스

단항 플러스와 마이너스는 기호를 변수 앞에 써서 나타낸다.

1
2
var num = 25;
num = +num; // 여전히 25

단항 플러스를 숫자가 아닌 값에 적용하면 Number()[1]와 동일하게 동작한다. false와 true는 각각 0과 1로 바뀌고, 문자열은 이전 포스팅의 규칙을 따른다. 단항 플러스를 여러 데이터 타입이 적용한 코드는 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var s1 = "01";
var s2 = "1.1";
var s3 = "z";
var b = false;
var f = "1.1";
var o = {
valueOf: function() {
return -1;
}
};

s1 = +s1; // 숫자 1
s2 = +s2; // 숫자 1.1
s3 = +s3; // NaN
b = +b // 숫자 0
f = +f; // 숫자 1.1 그대로
o = +o; // 숫자 -1

단항 마이너스는 보통 수의 부호를 바꾸는 용도로 쓰인다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var s1 = "01";
var s2 = "1.1";
var s3 = "z";
var b = false;
var f = "1.1";
var o = {
valueOf: function() {
return -1;
}
};

s1 = -s1; // 숫자 -1
s2 = -s2; // 숫자 -1.1
s3 = -s3; // NaN
b = -b; // 숫자 0
f = -f; // -1.1
o = -o; // 숫자 1

단항 플러스와 마이너스는 주로 간단한 계산에 사용하지만 변환 용도로도 사용할 수 있다.


이외에 자주 쓰는 연산자

  1. 논리 연산자
연산자 의미
!a 논리 NOT
a && b 논리 AND
a || b 논리 OR
  1. 사칙연산
연산자 의미
a * b 곱셈
a / b 나눗셈
a % b 나머지
a + b 덧셈
a - b 뺄셈
  1. 관계 연산자
연산자 의미
a > b 초과
a < b 미만
a >= b 이상
a <= b 이하
a == b, a === b[2] 동일
a != b, a !== b[3] 비동일


이 포스트의 모든 내용은 프론트엔드 개발자를 위한 자바스크립트 프로그래밍(인사이트) 책을 참고하여 작성되었습니다.




  1. 형 변환 함수이다. ↩︎

  2. ==는 데이터 타입을 변환하고 비교하고, ===는 형 변환 없이 비교. ===의 경우 데이터 타입까지 같아야만 true를 반환. ↩︎

  3. !=는 데이터 타입을 변환하고 비교하고, !==는 형 변환 없이 비교. !==로 비교하는 경우, 데이터 타입만 달라도 true 반환. ↩︎

Share