본문 바로가기
TIL

111. null 병합연산자 란? TIL 23.01.11

by 새싹_v 2023. 1. 12.
728x90


 

null 병합연산자(nullish coalescing operator)

짧은 문법으로 여러 피연산자 중 값이 확정되어 있는 변수를 쉽게 찾을 수 있도록 도와주는 연산자

 

ex1) 변수 a와 b가 있을 때 a가 null이나 undefined가 아니면 a를 그 외의 경우는 b를 대입하는 경우

//null 병합 연산자를 사용한 경우
let result = a ?? b

//null 병합 연산자를 사용하지 않은 경우
let result = (a !== null && a !== undefined) ? a:b

 

ex2)

let firstName = null;
let lastName = null;
let nickName = "가렌";

//null이나 undefined가 아닌 첫 번째 피연산자
alert(firstName ?? lastName ?? nickName ?? "익명 사용자"); //바이올렛

 

 

'??'와 '||'의 차이

- ||(OR)는 첫 번째 truthy값을 반환한다

-??(병합)는 첫 번째 defined 값을 반환한다.

 

height = height ?? 100; //100;
//height에 값이 정의되지 않은 경우 height에 100이 할당된다.
let height = 0;

alert(height || 100); //100
alert(height ?? 100); //0

//height || 100은 height에 0을 할당했지만 0을 falsy 한 값으로 취급했기 
//때문에 null이나 undefined를 할당한 것과 동일하게 처리한다

//height ?? 100은 height이 정확하게 null이나 undefined일 경우에만 100이 된다.
//height에 0을 할당했기 때문에 0이 출력된다.

 

 

728x90

'TIL' 카테고리의 다른 글

113. HTTP 통신흐름 TIL 23.01.16  (1) 2023.01.16
112. Til 23.01.13  (0) 2023.01.13
110. React Hook 이란? TIL 23.01.11  (0) 2023.01.11
109. onKeyPress 사용하지 않음 TIL 23.01.09  (0) 2023.01.09
108. Virtual DOM, 가상 돔 이란? TIL 23.01.06  (0) 2023.01.06

댓글