Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

널 병합 연산자 [Nullish coalescing operator] (??) VS 널 병합 할당[Nullish coalescing assignment](??=) 본문

코딩/JS

널 병합 연산자 [Nullish coalescing operator] (??) VS 널 병합 할당[Nullish coalescing assignment](??=)

코딩거인 2023. 8. 14. 15:01
728x90

널 병합 연산자 (??) 는 왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다.

이는 왼쪽 피연산자가 null 또는 undefined 뿐만 아니라 falsy(거짓같은 값) 값에 해당할 경우 오른쪽 피연산자를 반환하는 논리 연산자 OR (||)와는 대조된다. 다시 말해 만약 어떤 변수 foo에게 falsy값( '' 또는 0)을 포함한 값을 제공하기 위해 ||을 사용하는 것을 고려했다면 예기치 않는 동작이 발생할 수 있다.

Optional chaining 연산자 (?.) 와의 관계?

널 병합 연산자는 명확한 값으로  null 또는 undefined 를 처리하고 Optional chaining 연산자는 null or nudefined 일 수 있는 객체의 속성에 접근할 때 유용하다.

let foo = { someFooProp: "hi" };

console.log(foo.someFooProp?.toUpperCase()); // "HI"
console.log(foo.someBarProp?.toUpperCase()); // undefined

 

널 병합 연산자(??) VS 널 병합 할당(??=) 차이점?!

말 그대로 널 병합 연산자는 그저 연산후 연산 결과를 보여주고 끝이라면 널 병합 연산자는  null 또는 undefined 일 경우에 값을 할당해 주는 차이점이 있다.

728x90