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 |