본문 바로가기
SeSAC 클라우드 기반 JAVA 풀스택 웹개발/3. JavaScript

[SeSAC] 연산자

by Coarti 2024. 10. 23.

연산자의 종류

  • 산술 연산자 : 수학적 계산을 처리한다.
  • 할당 연산자 : 값을 변수에 할당한다.
  • 비교 연산자 : 두 값의 크기나 동등성을 비교한다.
  • 논리 연산자 : 논리적인 참/거짓을 계산한다.
  • 타입 연산자 : 변수의 자료형을 확인하거나 변환한다.

산술 연산자

  • + 더하기
  • - 뺄셈
  • * 곱셈
  • / 나눗셈
  • % 나머지 : 두 수를 나눈 후 나머지를 반환한다.
  • ** 거듭제곱 : 숫자의 거듭제곱을 계산한다.
  • ++ 증가연산자 : 변수를 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