JS - nullish 병합 연산자??
오늘은 JS에서 nullish 병합 연산자에 대해 알아보겠습니다.
※
시작에 앞서 nullish 병합 연산자는
비교적 최근에 나온 연산자이기 때문에
지원이 안 되는 브라우저가 있을 수 있습니다.
이점 참고하시길 바랍니다.
※
본론으로 들어가서 nallish 병합 연산자는
간단하게 병합 연산자라고 부르겠습니다.
병합 연산자는 '??' 기호를 사용합니다.
기능을 설명드리면
병합 연산자는 피연산자 중에서 값이 확정된 변수를
찾을 수 있다는 것입니다.
예시를 보여드리면
a = null이고 b = '값이 있다.'면
병합 연산자를 사용하면
a?? b는 값이 있는 피연산자인
b를 찾고 b의 값인
'값이 있다.'를 찾아냅니다.
병합 연산자는 논리 연산자 중에
or과 정말 비슷합니다.
논리 연산자의 or은 true의 값을 가진
피연산자를 찾을 때까지 진행되고
병합 연산자는 값이 정의된 피연산자를
찾을 때까지 진행된다는 것입니다.
둘의 명확한 차이를 확인하려면
null과 undefined, 숫자 0을 구분할 때 나타납니다.
왜냐하면 or 연산자는 null, undefined, 숫자 0을
false로 판단하기 때문입니다.
예를 들어 보여드리겠습니다.
let ex = 0;
alert(ex || 1);
alert(ex?? 1);
이 코드를 출력하면 확실한 차이를 볼 수 있습니다.
or 연산자를 먼저 보시면
ex의 값이 0이기 때문에
ex를 false로 판단하고 true인 숫자 1을 출력합니다.
?? 병합 연산자를 보시면
ex에서 이미 명확한 값인 0을 가졌기 때문에
0을 출력합니다.
만약 ex에 null이나 undefined이 출력된다면
그 값은 출력되지 않을 것입니다.
논리 연산자인 or 연산자와
병합 연산자는 굉장히 비슷하지만
약간의 차이가 있기 때문에
만약 0의 값을 할당해야 하는 변수를 사용할 때는
병합 연산자를 사용하셔도 좋을 것 같습니다.
한 가지 병합 연산자를 사용하면서 주의하실 점은
다른 연산자들과 함께 사용할 때는
병합 연산자의 우선순위가 낮기 때문에
원치 않은 결과가 나올 수도 있고
만약 괄호 없이 사용한다면 오류가
발생할 수도 있기 때문에
다른 연산자와 함께 사용할 때는
반드시 병합 연산자 부분에 괄호를 사용하여
작성하셔야 합니다.
그것이 안전상 중요할 것 같습니다.
오늘은 nullish 병합 연산자에 대해 알아보았습니다.
병합 연산자는 or 연산자와 비슷하게 동작하지만
약간의 차이가 있다는 점을 알려드렸습니다.
그리고 병합 연산자와 다른 연산자를 함께
사용할 때는 반드시 병합 연산자 부분에 괄호를
작성하시고 사용하셔야 오류 없이 사용할 수 있다는 점을
알아두시면 좋겠습니다.
오늘도 긴 글 읽어주셔서 감사합니다!!

'JS > JS 기초' 카테고리의 다른 글
JS - switch문 (1) | 2022.08.12 |
---|---|
JS-반복문 while, do while, for (0) | 2022.08.10 |
JS - 논리 연산자 ||(or), &&(and), !(not) (1) | 2022.08.08 |
JS- 조건부 연산자? (0) | 2022.08.08 |
JS-if 문 (0) | 2022.08.07 |
댓글