Nullish coalescing Operator
javascript
에서 Nullish coalescing Operator
를 사용 가능합니다. es2020
에 Optional Chaining
과 함께 추가되었습니다. typescript
3.7
버전에서 이미 추가 된 기능이지만 es2020
부터 javascript
에서도 사용 가능합니다. Nullish coalescing Operator
는 ??
라는 연산자 앞에 있는 피연산자 값이 null
이나 undefined
일 때 연산자 뒤에 있는 값을 반환합니다. 사용법은 ||
와 유사하지만 부정의 의미를 갖는 값 중 null
과 undefined
만 체크한다고 보시면 될 것 같습니다.
Usage
1 | const a = null ?? "hello"; |
위 코드에서 hello
가 되는 변수는 어떤 것일까요?
1 | console.log(a); // 'hello' |
위와 같이 a
, e
, g
, i
만 hello
가 출력됩니다. a
는 ??
연산자의 앞의 값이 null
이기 때문에 연산자 뒤의 hello
가 출력됩니다. e
, g
, i
는 undefined
이기 때문에 마찬가지로 hello
가 출력됩니다. ||
연산자는 연산자의 앞 값이 부정적인 값이면 뒤 값이 출력됩니다. 하지만 Nullish coalescing Operator
는 오로지 null
또는 undefined
만 비교합니다.
1 | const nco = function(pre, post) { |
위 함수처럼 pre
의 값을 null
또는 undefined
인지 비교하고 맞으면 post
값을 반환하고 아니면 pre
값을 반환한다고 생각하시면 될 것 같습니다.