오늘도 나는

 

Nullish coalescing operator

널 병합 연산자란 왼쪽 피연산자가 null 이거나 undefined라면 오른쪽 피연산자를 반환하고 그렇지 않으면 왼쪽 피연산자를 반환한다. 뿐만 아니라 null, undefined말고 falsy값. 즉, ' ' 이나 0 인 값들도 포함된다.

 

 

밑에는 if문을 사용한 예제이다.

printMessage 함수는 text를 인자로 받아서 text의 값을 변수 message에 할당한다.

만약 text가 null 이거나 undefined이면 변수 message에 'nothing to display'라는 문자열을 할당한다.

 

보통 이렇게 변수값을 저장할 때 논리 연산자(OR)를 사용한다.

function printMessage(text) {
    let message = text;
    if(text == null || text == undefined) {
    	message = 'nothing to display';
    }
    console.log(message);
}

printMessage('hello:)');
printMessage(null);
printMessage(undefined);

 

널 병합 연산자를 사용하면 단 한줄로 똑같은 값을 출력할 수 있다.

function printMessage(text) {
    const message = text ?? 'nothing to display';
    console.log(message);
}

printMessage('hello:)');
printMessage(null);
printMessage(undefined);

 

 

널 병합 연산자를 사용함으로써 논리연산자(or)를 사용할 때 falsy값과 같은 예기치못한 위험을 피할 수 있고

더 코드를 간결하게 할 수 있는 장점이 있다.

profile

오늘도 나는

@찬찬누

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그