[JavaScript] 연산자
연산자
- 연산자는 프로그래밍 언어에서 특정 연산을 할 수 있도록 도와주는 문자
-
대표적으로 우리 모두가 아는 사칙연산을 도와주는 덧셈(
+
), 뺄셈(-
), 곱셈(*
), 나눗셈(/
)이 연산자에 해당let number = 25; console.log(number + 5); //30 console.log(number - 5); //20 console.log(number * 5); //125 console.log(number / 5); //5
산술 연산자
-
덧셈(
+
), 뺄셈(-
), 곱셈(*
), 나눗셈(/
)은 가장 기본적인 산술 연산자let num1 = 10; let num2 = 5; console.log(num1 + num2); // 15 console.log(num1 - num2); // 5 console.log(num1 * num2); // 50 console.log(num1 / num2); // 2
-
자바스크립트의 산술 연산자에는 나머지 연산(%)도 포함되어 있음
let num1 = 10; let num2 = 5; console.log(num1 % 2); // 0 console.log(num2 % 2); // 1
-
변수의 값을 증가, 감소 시켜주는 증감 연산자도 산술 연산자에 포함
let num = 10; console.log(num++); //후위연산 -> 10 console.log(num); // 현재 num 값 -> 11 console.log(++num); //전위연산 -> 12
- 증감 연산자
- 후위 연산(
num++
) : num의 값에 1을 더하기 직전의 값인 10을 출력- 연산 이후
num
의 값을 출력해보면 11이 출력됨
- 연산 이후
- 전위 연산(
++num
) : 현재 값이 11인num
변수에 1을 더한 이후의 값인 12를 출력
- 후위 연산(
let num = 10; console.log(num--); //후위연산 -> 10 console.log(num); // 현재 num 값 -> 9 console.log(--num); //전위연산 -> 8
- 증감 연산자
대입 연산자
-
변수에 특정 값을 대입하는 역할을 하는 연산자
let num = 20; num = num + 5; console.log(num); // 25
- num 변수값에 5를 더한 값을 num 변수에 저장
- 이때
num = num + 5;
에서 사용된=
를 대입 연산자라고 할 수 있음
- 이때
- num 변수값에 5를 더한 값을 num 변수에 저장
복합 대입 연산자
-
복합 대입 연산자는 산술 연산자와 대입 연산자가 결합한 연산자
let num = 20; num += 5; console.log(num); // 25
- num = num + 5; 부분을
num += 5;
로 대체할 수 있고,+=
연산자는 복합 대입 연산자에 해당
- num = num + 5; 부분을
-
복합 대입 연산자를 사용하여 사칙 연산 가능
let num = 20; num += 5; // num = num + 5 num -= 5; // num = num - 5 num *= 5; // num = num * 5 num /= 5; // num = num / 5
논리 연산자
- 논리 연산자는
true
,false
값으로 이루어진 Boolean 타입을 위한 연산자 - 논리 연산자에는 NOT(
!
), OR(||
), AND(&&
) 연산자가 있음
NOT
-
NOT 연산자는
!
를 이용하여false
의 값은true
,true
의 값은false
로 변경해줌let isOpen = false; let isClicked = true; console.log(!isOpen); // true console.log(!isClicked); // false
- 맨 처음 isOpen 의 값이 false 이기 때문에 true가 출력
- isCliked 변수의 값은 true이기 때문에 false가 출력
OR
-
OR 연산자는
||
의 양 옆에 있는 값이 하나라도true
라면true
를 반환하는 연산자let a = true || true; // true let b = true || false; // true let c = false || true; // true let d = false || false; // false
- 변수 a, b, c는 true의 값이 하나 이상 있기 때문에 true의 값을 반환
- 변수 d는 두 개의 값이 모두 false 이기 때문에 false 의 값을 반환
AND
-
AND 연산자는
&&
양 옆의 두 값이 모두true
일 경우에만 true 값을 반환하는 연산자let a = true && true; // true let b = true && false; // false let c = false && true; // false let d = false && false; // false
- a는 && 기호의 양 옆의 값이 모두 true 이기 때문에 true의 값을 반환
- b, c, d는 false가 하나 이상 있기 때문에 false를 반환
비교 연산자
- 비교 연산자는 두 값을 비교할 때 사용하는 연산자
일치
-
두 값이 일치하는지 알아보기 연산자는
===
과==
가 있음let num1 = 10; let num2 = "10"; console.log(num1 === num2); // false console.log(num1 == num2); // true
- 변수 num1과 변수 num2 의 값은 10으로 동일하지만, 각각 숫자형, 문자형으로 자료형이 다른 변수
===
연산자 : 두 변수의 값만 비교하는 것이 아니라, 두 변수의 자료형까지 같은지 비교하는 연산자- 결과값 :
false
- 결과값 :
==
연산자 : 두 변수의 자료형은 비교하지 않고, 오직 값만 일치하는지를 비교하는 연산자- 결과값 :
true
- 결과값 :
불일치
-
두 값이 일치하지 않는지를 확인 할 때는
!==
또는!=
를 사용let num1 = 10; let num2 = "10"; console.log(num1 !== num2); // true console.log(num1 != num2); // false
!==
는 타입 검사를 하고,!=
는 타입 검사를 하지 않음
대소 비교
-
두 개의 값 중, 무엇이 더 크고 작은지를 비교하기 위해 사용하는 연산자
let a = 10; let b = 20; let c = 10; console.log(a < b); // true console.log(a > b); // false console.log(b >= c); // true console.log(b > c); // true console.log(a <= c); // true console.log(a > c); // false
-
우리가 흔히 알고 있는 대소 비교 기호와 동일(
<
,>
등)
연결 연산자
-
연결 연산자는
+
를 이용해 문자열과 문자열을 연결하는 연산자let a = "안녕"; let b = "자바스크립트"; console.log(a + b); // 안녕 자바스크립트
- 출력 결과는 a, b 문자열을 연결한 “안녕 자바스크립트”
null 병합 연산자
-
null 병합 연산자는
??
를 사용해 작성할 수 있음let num; num = num ?? 20; //20 console.log(num);
num ?? 20
- num 변수의 값이 null 이거나 undefined 이면 20을 대입
- null이나 undefined가 아니라면 현재 num의 값을 그대로 유지
-
예시
let num = 100; num = num ?? 20; console.log(num); //100
- num의 값이 null이나 undefined가 아니기 때문에 100이라는 값이 출력
-
null 병합 연산자는
??
의 왼쪽 값이 null이거나 undefined 라면 오른쪽의 값을 저장하는 연산자
삼항 연산자
- 삼항연산자는 A ? B : C 라는 형태의 연산자로, A라는 조건문이 참일경우 B를, 거짓일 경우 C를 수행하는 연산자
- 삼항연산자에는 조건문이 들어가기 때문에 if-else 조건문을 대체해서 자주 사용되기도 함
-
num 변수에 할당된 숫자가, 짝수인지 홀수인지를 출력하는 코드
let num = 100; console.log(num % 2 === 0 ? "짝수" : "홀수");
- 해당 조건식을 만족하면 짝수를, 만족하지 않는다면 홀수를 출력
📚 이 글은 인프런 - 웹 프론트엔드를 위한 자바스크립트 첫걸음을 수강하며 정리한 내용입니다.
강의자: 효빈 (Hyobin)
※ 본 글은 개인 학습 목적으로 작성되었으며, 일부 내용은 강의 자료를 참고하였습니다.
댓글남기기