Thief of Wealth

nullish coalescing operator (||와 ?? 차이)

자바스크립트에는 널 병합 연산자라는 것이 있다.

문법적으로는 ??으로 쓰인다.

왼쪽 피연산자가 null이거나 undefined일때 오른쪽 피 연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환한다.

근데 ||도 비슷한 효과를 가지고 있다.
다만, ||는 null, undefined 뿐만 아니라 falsy값에 해당하는 경우도 오른쪽 피연산자를 반환한다.

즉 ||를 사용하면 falsy값인 " "나 0, NaN일때에도 오른쪽 피연산자가 반환된다.
왜냐하면 ||는 왼쪽 피연산자를 강제로 boolean으로 형변환하게 때문이다.

이러한 " "나 0, NaN의 falsy값을 유효한 값으로 생각한 경우에는 ||를 사용하면 안되는 것이다.

'개발 > FrontEnd Interview' 카테고리의 다른 글

z-index와 position  (0) 2021.09.02
z-index 쌓임 맥락  (0) 2021.09.02
리액트에서의 effect란?  (0) 2021.08.22
Prototype으로 상속을 구현해보세요.  (0) 2021.08.22
general function vs arrow function  (0) 2021.08.22
profile on loading

Loading...