nullish coalescing operator ( nullish 병합 연산자 : ?? )

2022. 10. 24. 12:36·JavaScript
반응형

nullish 병합 연산자 ?? 를 사용하면 조건식을 간단하게 처리할 수 있다. 

a ?? b

의 경우 

 

a가 null이 아니고 undefined도 아니면 a 값을 return

그 외의 경우에는 b 값을 return 한다. 

 

x = (a !== null && a !== undefined) ? a : b

 이 코드를 ?? 연산자를 사용해서 간단하게 처리가 가능하다. 

 

|| 와 차이점 

|| 연산자의 경우에도 비슷한 처리가 가능하다.

a ?? b

마찬가지로 a값이 있다면 a를, 없다면 b를 return 해준다. 

 

그럼 차이점은 무엇일까? 

let height = 0; 

height = height || 100 // 100
height = height ?? 100 // 0

||의 경우 0도 false에 해당하지만 ??의 경우 null 또는 undefined가 아니기 때문에 자기 자신을 return 한다. 

0이 할당될 수 있는 곳에는 || 보단 ?? 가 더 정확하게 처리가 가능하다. 

반응형
저작자표시 비영리 변경금지 (새창열림)

'JavaScript' 카테고리의 다른 글

[JavaScript] 함수형 프로그래밍 - 개요  (0) 2022.11.12
[JavaScript] Event의 target과 currentTarget  (0) 2022.11.01
[JavaScript] Vanilla JavaScript로 상태 관리 만들기!  (1) 2022.10.01
[JavaScript] ?? 문법  (1) 2022.09.22
[JavaScript] 콘솔로 입력받기  (1) 2022.09.15
'JavaScript' 카테고리의 다른 글
  • [JavaScript] 함수형 프로그래밍 - 개요
  • [JavaScript] Event의 target과 currentTarget
  • [JavaScript] Vanilla JavaScript로 상태 관리 만들기!
  • [JavaScript] ?? 문법
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    next.js
    Node.js
    CCNA
    바질 키우기
    ChatGPT
    Babel
    react
    Docker
    자바스크립트
    영어독학
    덤프
    타일러영어
    리액트
    다이소
    프로그래머스
    CSS
    바질
    네이버 부스트캠프
    webpack
    javascript
    redux
    네트워크
    타입스크립트
    typescript
    영어회화
    알고리즘
    식물
    리얼학습일기
    ReactNative
    리얼클래스
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
nullish coalescing operator ( nullish 병합 연산자 : ?? )
상단으로

티스토리툴바