거인의 코딩일지
널 병합 연산자 [Nullish coalescing operator] (??) VS 널 병합 할당[Nullish coalescing assignment](??=) 본문
코딩/JS
널 병합 연산자 [Nullish coalescing operator] (??) VS 널 병합 할당[Nullish coalescing assignment](??=)
코딩거인 2023. 8. 14. 15:01728x90
널 병합 연산자 (??) 는 왼쪽 피연산자가 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
'코딩 > JS' 카테고리의 다른 글
메서드 체인(Method Chaining)이란? (0) | 2023.08.14 |
---|---|
타입스크립트란??? (0) | 2023.08.14 |
[Vue.js] Props? Emits? (0) | 2023.08.05 |
[Vue.js] 컴포넌트란? (0) | 2023.08.05 |
[JavaScript/ajax] ajax 에서 컨트롤러로 배열값 가져가기!!(traditional) (0) | 2023.06.13 |