본문 바로가기
개발로그/JavaScript

? 와 ?? 를 사용하는 방법 (Expressions & operators)

by 그리너리디밸로퍼 2023. 1. 28.
const originArr=['apple','pear']
const newWord = ['banna']
const copiedlist = [...originArr, newWord[0]];

copiedlist => ['apple','pear','banna']

     

    javascript 에서는 아래와 같은 문법이 있습니다. 

     

    Conditional (ternary) operator (조건 삼항연산자 < ? : >)

    조건 (삼항) 연산자는 JavaScript에서 세 개의 피연산자를 받는 유일한 연산자입니다.  condition이 참(truthy)일경우 exprIfTrue 이 실행, 조건문이 거짓(falsy)일 경우  exprIfFalse 가 실행된다.

    condition ? exprIfTrue : exprIfFalse

     

    아래와 같은 경우에 if  else 대신 빈번하게 사용된다. 

    • null 값 처리하기 
    • 연결된 조건문 처리하기
    function example(…) {
        return condition1 ? value1
             : condition2 ? value2
             : condition3 ? value3
             : value4;
    }

     

     

    Nullish coalescing operator (널 병합 연산자  < ?? >)

    연산자 ( ?? )

    왼쪽 피연산자가 null 또는 undefined 뿐만 아니라 *falsy *값에 해당할 경우 오른쪽 피연산자를 반환

    item.original_name ? item.original_name : item.original_title

    위 코드와 아래 코드는 동작방식이 같다. 

    item.original_name ??  item.original_title

     

     

    Optional chaining (선택적 연결 < ?. >)

    연산자 (?.)

     

    배열의 얕은 복사

    let shallowCopySpread = [...fruits]
    // ["딸기", "망고"]

     

    얕은 복사를 이용한 확장

     

    참고자료:https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference

    728x90

    댓글