JAVASCRIPT

[JavaScript] 03. 자바스크립트 기본 문법02

송우든 2020. 10. 24. 20:51
728x90

# 연산자

연산자는 프로그래밍에서 쓰이는 기호들을 말하며 산술, 대입, 논리, 비교 연산자등을 포함하고 있습니다.

 

산술 연산자
산술 연산자란, 사칙 연산을 수행하는 연산자들을 의미합니다.

자바스크립트에서 지원하는 연산자는 아래와 같습니다.
   +  : 덧셈
   -  : 뺄셈
   *  : 곱셈

   /  : 나눗셈
   %  : 나머지
   **  : 거듭제곱 

console.log(5 + 3);
console.log(12 - 5);
console.log(6 * 4);
console.log(24 / 8);
console.log(13 % 2); // 13 ÷ 2의 나머지 값이 출력된다. 출력 : 1
console.log(2 ** 3); // 2 * 2 * 2의 값이 출력된다. 출력 : 8

 

추가적으로  +  연산자는 덧셈뿐만 아니라 문자열 연결 시에도 사용합니다.

console.log("Hello " + "world!"); // Hello world!

 

이외에도 산술 연산자에는 증감 연산자가 포함됩니다.

증감 연산자를 사용하면 어떤 변수에 1을 증가 혹은 감소시킬 수 있습니다.
   ++  : 증가 연산자

   --  : 감소 연산자

let num = 5;
num ++; 
console.log(num); // 출력 : 6

 

증감 연산자는 반드시 변수에만 사용해야 합니다!

5++; // 사용 불가능!

 

증감 연산자는 전위형(Prefix Form)후위형(Postfix Form)으로 나눌 수 있습니다.
전위형(Prefix Form)은 증감 후의 새로운 값을 반환하고, 후위형(Postfix Form)은 증감 전의 기존의 값을 반환합니다.

let number = 5;
let tmp = --number;
console.log(tmp); // 출력 : 4
let number = 5;
let tmp = number--;
console.log(tmp); // 출력 : 5

 

대입 연산자
대입 연산자란,  =  를 사용하여 변수에 값을 대입할 때 사용합니다. 또한, 산술 연산자와 함께 묶어서 사용하기도 합니다.

let foo = 12;
foo += 5; 
console.log(foo); // 출력 : 17

 

논리 연산자
논리 연산자는 다음과 같이 3가지 종류가 있으며, 각각  &&  는 AND,   ||  는 OR,  !  는 NOT을 의미합니다.
먼저,  &&  연산자는 양쪽의 모든 값이 참일 경우에만 true를 반환하는 연산자입니다.

console.log(true && true); // 출력 : true
console.log(false && true); // 출력 : false

 

두번째는  ||  연산자 입니다. 양쪽 값 중 하나라도 참이라면 true를 반환합니다. 즉, 모든 값이 거짓일 때만 false를 반환합니다!

console.log(true || false); // 출력 : true
console.log(false || false); // 출력 : false

 

마지막으로  !  연산자는 값이 참이면 false를, 값이 거짓이면 true를 반환합니다.

또한,  !  연산자를 사용하면 null, undefined, 0, false, '', NaN 등의 값을 일일이 체크해주지 않아도 모두 거짓으로 처리해줍니다.

let name; // undefined

function introduce() {
    if (!name) {
        console.log("이름이 정의되어 있지 않습니다.");
        return ;
    }
    console.log(`나의 이름은 ${name}입니다.`);
}

introduce(); // 출력 : 이름이 정의되어 있지 않습니다.

 

비교 연산자
비교 연산자는  ==  혹은  ===  연산자를 사용하여 양쪽 값을 비교하는 연산자입니다.

먼저,   ==  연산자는 아래와 같이 양쪽의 이 같은지를 비교하는 연산자입니다. 

const a = 5;
const b = 5;

console.log(a == b); // true

 

하지만,  ==  연산자만을 사용하여 값을 비교할 때에는 아래 코드와 같은 단점이 존재합니다. 

바로 타입 체크까지 해주지 않는다는 점이에요!

const a = 1;
const b = '1';

console.log(a == b); // true

 

그래서 위와같은 문제를 해결하기 위해서 자바스크립트에서는  ===  연산자를 만들었습니다.

const a = 1;
const b = '1';

console.log(a === b); // false

 

삼항 연산자
삼항 연산자는 조건 ? : 거짓과 같은 형태로 구성되어 있습니다. 코드를 좀 더 간결하게 사용할 수 있다는 장점이 있습니다.

const name = "송우든";
name == "송우든"? console.log("인증된 사용자입니다.") : console.log("잘못된 사용자입니다.");
// 출력 : 인증된 사용자입니다.

 

null 병합 연산자
null 병합 연산자는  ??  를 사용합니다.  null 병합 연산자는 null 또는 undefined와 같은 값을 판별하여 OR 연산을 수행합니다.

 

 

 

참고 자료 및 사이트 : ko.javascript.info/intro

728x90