연산자의 종류
- 산술 연산자 : 수학적 계산을 처리한다.
- 할당 연산자 : 값을 변수에 할당한다.
- 비교 연산자 : 두 값의 크기나 동등성을 비교한다.
- 논리 연산자 : 논리적인 참/거짓을 계산한다.
- 타입 연산자 : 변수의 자료형을 확인하거나 변환한다.
산술 연산자
- + 더하기
- - 뺄셈
- * 곱셈
- / 나눗셈
- % 나머지 : 두 수를 나눈 후 나머지를 반환한다.
- ** 거듭제곱 : 숫자의 거듭제곱을 계산한다.
- ++ 증가연산자 : 변수를 1 증가시킨다.
- -- 감소연산자 : 변수를 1 감소시킨다.
let a = 7;
let b = 2;
console.log(a + b); // 9
console.log(a - b); // 5
console.log(a * b); // 14
console.log(a / b); // 3.5
console.log(10 % 3); // 1
console.log(2 ** 3); // 8
let count = 5;
count++;
console.log(count); // 6
count--;
console.log(count); // 5
나눗셈의 결과는 정수가 아닌 유리수다
나눗셈의 몫과 나머지를 구분을 위해 다음과 같이 한다.
console.log(7 / 2); // 3. 5 나눗셈한 값
console.log(7 % 2); // 1 나머지
console.log(Math.floor(7 / 2)); // 3 몫
할당 연산자
대입 연산자로도 불린다.
- = : 변수에 값을 할당(저장)한다.
- += : 값을 더하고 할당
- -= : 값을 빼고 할당
- *= : 값을 곱하고 할당
- /= : 값을 나누고 할당
- %= : 나머지를 계산하고 할당
let x = 10;
x += 5;
// x = x + 5
console.log(x); // 15
x *= 2;
// x = x * 2
console.log(x); // 30
비교 연산자
- == : 값이 같은지 비교 (느슨한 동등성)
- === : 값과 자료형이 모두 같은지 비교 (엄격한 동등성)
- != : 값이 다른지 비교
- !== : 값과 자료형이 모두 다른지 비교
- > : 왼쪽 값이 크다
- < : 왼쪽 값이 작다
- >= : 왼쪽 값이 크거나 같다
- <= : 왼쪽 값이 작거나 같다
== vs ===
== : 값만 비교한다
=== : 값과 자료형까지 비교한다.
논리 연산자
- 참(true) 또는 거짓(false) 논리값을 결합하거나 부정하는 연산자이다.
- && : 논리적 AND (모두 참일 때만 참)
- || : 논리적 OR (하나라도 참이면 참)
- ! : 논리적 NOT (참을 거짓으로, 거짓을 참으로)
- ^ : 논리값이 서로 다를 때 사용, XOR
let isOnline = true;
let isActive = false;
console.log(isOnline && isActive); // false
console.log(isOnline || isActive); // true
console.log(!isOnline); // false
진리표
A | B | A && B | A || B | A ^ B |
T | T | T | T | F |
T | F | F | T | T |
F | T | F | T | T |
F | F | F | F | F |
타입 연산자
- 변수의 자료형을 확인하는 연산자이다.
- typeof : 변수의 자료형을 반환한다
console.log(typeof 123); // "number"
console.log(typeof 'Hello'); // "string"
독특한 연산 결과
- 'b'+'a'+ +'a'+'a'
- -1 <=- 1
- "" ** 0 ^ 0 ** "" <=-+- "" * 0 ^ 0 * ""
브라우저를 열어 F12 혹은 우클릭-검사를 통해 개발자 도구를 열어 Console 탭에서 실행해보자
728x90
'SeSAC 클라우드 기반 JAVA 풀스택 웹개발 > 3. JavaScript' 카테고리의 다른 글
[SeSAC] JS_함수 (0) | 2024.10.25 |
---|---|
[SeSAC] 참조 자료형 (0) | 2024.10.24 |
[SeSAC] 조건문 (0) | 2024.10.24 |
[SeSAC] 선언과 할당 (0) | 2024.10.23 |
[SeSAC] JavaScript(Node.js) (2) | 2024.10.21 |