티스토리 뷰

728x90

 안녕하세요. 오늘은 널 병합(??) 연산자와 옵셔널 체이닝(?.) 연산자에 대해서 알아보겠습니다.

 


1. 널 병합 연산자

    널 병합 연산자(??)는 falsy 값(0,'',false,NaN,null,undefinced) null과 undefined만 따로 구분합니다. 밑의 예제를 보면 || 연산자의 경우 변수 a에 falsy 값인 0이 들어가있기 때문에 falsy 값이 아니라 뒤에 있는 값인 1을 변수 b에 대입했습니다. 하지만 널 병합 연산자의 경우 falsy값 중에서 null과 undefined만 구분하기 때문에 a가 null이나 undefined가 아니므로 b는 a인 0이 대입됩니다.

 

const A = X ?? Y ;

1. X가 null ,undefined  인 경우 -> A = X;

2. X가 null,undefined가 아닌 경우 -> A = Y;

 

 

널 병합 연산자(??)를 쓰는 이유는 일반적인 속성뿐만 아니라 함수 호출이나 배열 요소 접근에 대해서도 에러가 발생하는 것을 방지할 수 있기 때문입니다.

 

// || 연산자
const a=0;
const b=a||1;
console.log(b); //1

// ?? 널 병합 연산자
const a=0;
const b=a??1;
console.log(b) //0

const c=null;
const d=c??1;
console.log(d) //1;

2. 옵셔널 체이닝 연산자

    옵셔널 체이닝 연산자는 null, undefined의 속성을 조회할 때 에러가 발생하는 것을 막아줍니다.

 

const a=null;

a.b; //TypeError : Cannot read properties of null (reading 'b')
a?.b //에러 X

이상으로 널 병합 연산자와 옵셔널 체이닝 연산자에 대해 알아보았습니다. 감사합니다.

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
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 29
30
글 보관함