728x90

null 병합연산자(nullish coalescing operator)
짧은 문법으로 여러 피연산자 중 값이 확정되어 있는 변수를 쉽게 찾을 수 있도록 도와주는 연산자
ex1) 변수 a와 b가 있을 때 a가 null이나 undefined가 아니면 a를 그 외의 경우는 b를 대입하는 경우
javascript
닫기//null 병합 연산자를 사용한 경우
let result = a ?? b
//null 병합 연산자를 사용하지 않은 경우
let result = (a !== null && a !== undefined) ? a:b
ex2)
javascript
닫기let firstName = null;
let lastName = null;
let nickName = "가렌";
//null이나 undefined가 아닌 첫 번째 피연산자
alert(firstName ?? lastName ?? nickName ?? "익명 사용자"); //바이올렛
'??'와 '||'의 차이
- ||(OR)는 첫 번째 truthy값을 반환한다
-??(병합)는 첫 번째 defined 값을 반환한다.
javascript
닫기height = height ?? 100; //100;
//height에 값이 정의되지 않은 경우 height에 100이 할당된다.
javascript
닫기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 |
댓글