본문 바로가기

Frontend study/JavaScript

JavaScript - 3. 연산자

✔ 자바스크립트의 연산자에 대해 정리합니다.

 

 

  연산자에 대해서

 

 :) 연산자란 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입 연산 등의 연산을 수행하기 위해

    사용되는 기호를 의미한다. 이때 연산의 대상을 피연산자라 부른다. 

 

 

    1) 산술 연산자 (사칙연산)

        : 산술 연산자는 가장 기본적이면서도 자주 사용하는 연산자로 더하기, 빼기, 나누기, 곱하기를 

         연산한다. 이 연산자는 두 개의 피연산자를 가지는 이항 연산자이다.

 

 

종류 설명
+  두 값을 더한 결과값을 출력
-  두 값을 뺀 결과값을 출력
×  두 값을 곱한 결과값을 출력
/  두 값을 나눈 후에 그 몫을 출력
%  두 값을 나눈 후에 그 나머지를 출력

 

 let x = 10;
 let y = 4;
 console.log('x + y =', x + y)
 console.log('x - y =', x - y)
 console.log('x * y =', x * y)
 console.log('x / y =', x / y)
 console.log('x % y =', x % y)

 

 

 

  2) 대입 연산자

     : 변수에 값을 대입할 때 사용하는 이항 연산자이며, 산술 연산자와 결합한 다양한 복합 

       대입 연산자로 사용한다.

 

 

종류 설명
=  왼쪽 피연산자에 오른쪽 피연산자의 값을 대입
+=  왼쪽 피연산자와 오른쪽 피연산자의 값을 더한 후 그 결과값을 왼쪽 피연산자에 대입
-=  왼쪽 피연산자와 오른쪽 피연산자의 값을 뺀 후 그 결과값을 왼쪽 피연산자에 대입
×=  왼쪽 피연산자와 오른쪽 피연산자의 값을 곱한 후 그 결과값을 왼쪽 피연산자에 대입
/=  왼쪽 피연산자와 오른쪽 피연산자의 값을 나눈  그 몫을 왼쪽 피연산자에 대입
%=  왼쪽 피연산자와 오른쪽 피연산자의 값을 나눈 그 나머지를 왼쪽 피연산자에 대입

 

 let x = 12, y = 27, z = 5;
 console.log(x = x - 5)
 console.log(y -= 5); // y = y - 5 와 같은 표현임.
 console.log(z = - 5); // z = - 5 와 같은 표현임. 
 //z =- 5 연산은 단순히 -5를 변수 z에 할당,  y = y - 5연산과 비교하여 살펴보자!

 

 

 

3) 증감 연산자

  : 피 연산자를 1씩 증가 또는 감소시킬 때 사용되는 연산자이며 피연산자가 하나인

    단항 연산자이다. 이 연산자는 피연산자의 어느 쪽에 위치하는 가에 따라 연산의

    순서와 결과가 달라진다.

 

 

종류 설명
변수++  해당 문장을 먼저 실행한 후, 1만큼 증가 (후위)
++변수  먼저 1만큼 증가시킨 후, 해당 문장을 실행 (전위)
변수--  해당 문장을 먼저 실행한 후, 1만큼 감소 (후위)
--변수  먼저 1만큼 감소시킨 후, 해당 문장을 실행(전위)

 

 

 let num1 = 10
 console.log(num1++); //10
 console.log(num1++); //11
 console.log(num1++); //12
 console.log(num1); //13
 
 let num2 = 10
 console.log(++num2); //11
 console.log(++num2); //12
 console.log(++num2); //13
 console.log(num2); //13

 

 

 

  4) 비교 연산자

   : 피연산자 사이의 상대적인 크기를 판단하여, 참(true)과 거짓(false)을 반환하며, 두 개의

     피연산자를 가지는 이항 연산자이다.

 

  ♠ 자바스크립트에서는 피연산자의 타입에 따라 두 가지 기준으로 비교 연산을 진행한다. 

 

  - 피연산자 둘다 숫자

    : 해당 숫자를 서로 비교

 

  - 피연산자 둘다 문자열

    : 문자열을 사전 순으로 비교 (앞쪽일수록 작다.)

    → 유니코드 문자의 코드 값을 기준으로 비교하므로 모든 언어를 비교하는 것이 가능하다.      

 

   (1) 동등 / 일치 연산자 

   

종류 설명
==  (동등 비교)  왼쪽 피연산자와 오른쪽 피연산자의 값이 같으면 참을 반환 
!= (부등 비교)  왼쪽 피연산자와 오른쪽 피연산자의 값이 같지 않으면 참을 반환. 
=== (일치 비교)  왼쪽 피연산자와 오른쪽 피연산자의 값이 같고, 같은 타입이면 참을 반환
!== (불일치 비교)  왼쪽 피연산자와 오른쪽 피연산자의 값이 같지 않거나, 타입이 다르면 참을 반환

 

  ※ 일치 비교 연산자를 사용할 것을 권장!

    : 자바스크립트는 연산를 처리할 때, 암묵적으로 타입이 자동 변환되기도 한다. 이를 

      암묵적 타입 변환이라 한다. 여기서 일치 비교 연산자 사용을 권장하는 이유는 동등

      비교 연산자는 두 값을 비교할 때 암묵적 타입 변환을 통해 타입을 일치시킨 후에 같은

      값인지를 비교하므로 예측하기 어려운 결과를 보여주기 때문이다. 

 

 

 (2) 대소 관계 비교 연산자

  

종류 설명
>  왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크면 참을 반환
>=  왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같으면 참을 반환
<  왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작으면 참을 반환
<=  왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같으면 참을 반환

 

//동등 / 일치 비교 연산자
  console.log('' == '0')  // false
  console.log(0 == '')  // true
  console.log(0 == '0')  // true
 
  console.log(false == 'false')  // false
  console.log(false == '0')  // true
 
  console.log(false == undefined)  // false
  console.log(false == null)  // false
  console.log(null == undefined)  // true
 
  console.log(5 != 8)  // true
  console.log(5 != 5)  // false
  console.log(5 != '5')  // false
 
  console.log(5 !== 8// true
  console.log(5 !== 5// false
  console.log(5 !== '5'// true
 
 
  // 대소 관계 비교 연산자
  console.log(5 > 2//true
  console.log(5 < -5//false
  console.log(12 >= 12//true
  console.log(5 <= 0//false
  console.log('가방' < '하마'//true

 

 

 

5) 논리 연산자

   : 주어진 논리식을 판단하여, boolean 자료형의 값인 참(true), 거짓(false)을 

     반환하는 연산자로 && 연산자와 || 연산자는 두 개의 피연산자를 가지는 이항 연

     산자이며, ! 연산자는 피연산자가 단 하나뿐인 단항 연산자이다. 

 

 

종류 설명
&&
 논리식이 모두 참이면 true 를 반환 
 (AND 연산자, 논리곱 연산자 라고 부른다)
||
 논리식 중에서 하나라도 참이면 참을 반환함.
 (논리 OR 연산자, 논리합 연산자라고 부른다)
!
 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함
 (논리 NOT 연산자, 논리 부정 연산자라고 부른다)

  

 

A B A&&B A||B !A
true true true true false
true false false true false
false true false true true
false false false false true

 

 let a = true, b = false
 console.log(a && b); // false  
 // a가 true이라면, b가 결과값이 된다. 반면, a가 false이라면 결과는 a가 된다.
 console.log(a || b); // true  
 // a가 true이라면 결과는 a가 된다. 반면, a가 false이라면 결과는 b가 된다. 
 console.log(!a);  // false
 
 연산 과정
 console.log(30 > 20 || 20 > 10);
       ↓
 console.log(true || ture);
       ↓
 console.log(true);
 

 

 

 

6) 그 외 연산자   

    

   (1) 연결 연산자

        : + 연산자는 피연산자 둘 다 숫자일 경우에는 산술 연산인 덧셈으로 연산 하지만

          피연산자 둘 다 문자(열) 일 경우에는 두 값을 연결해주는 연결 연산을 수행한다.

 

  let strTest1 = 3 + 2;
  let strTest2 = '안녕!' + ' JavaScript야 ~';
  let strTest3 = 12 + '월'
  console.log(strTest1); // 피연산자 둘 다 숫자면, 산술 연산인 덧셈을 수행
  console.log(strTest2); // 피연산자 둘 다 문자열이면, 문자열 연결 연산을 수행 
  console.log(strTest3); // 피연산자 둘 중 하나라도 문자열이면, 문자열 연결 연산을 수행 

 

   

 

   (3) 제곱 연산자

       : 값을 제곱할 때 사용하는 연산자이다. 

 

 let a = 3;
 console.log(3**3); 

 

'Frontend study > JavaScript' 카테고리의 다른 글

JavaScript - 6. 배열  (0) 2022.02.27
JavaScript - 5. 반복문  (0) 2022.02.27
JavaScript - 4. 조건문  (0) 2022.02.26
JavaScript - 2. 변수, 상수, 자료형  (0) 2022.02.25
JavaScript - 1. 시작하기!  (0) 2022.02.25