패스잇
프론트엔드 개발 · 기초

JavaScript의 옵셔널 체이닝(?.)과 널 병합 연산자(??)에 대해 설명해주세요.

힌트 · null, undefined 처리와 이전 방식과의 차이를 설명해보세요.

undefinednull프로퍼티 접근단축 평가기본값 할당

모범답안

JavaScript의 옵셔널 체이닝(?.)과 널 병합 연산자(??)는 nullish 값(null 또는 undefined)을 다루는 데 유용한 기능입니다.

옵셔널 체이닝(?.)은 객체의 프로퍼티에 접근할 때 해당 프로퍼티가 nullish 값이면 에러를 발생시키는 대신 undefined를 반환합니다. 예를 들어 obj?.propobj가 null 또는 undefined이면 undefined를 반환하고, 그렇지 않으면 obj.prop의 값을 반환합니다. 이를 통해 중첩된 객체의 프로퍼티에 안전하게 접근할 수 있습니다.

널 병합 연산자(??)는 변수에 기본값을 할당할 때 사용됩니다. 변수가 nullish 값이면 지정된 기본값을 반환하고, 그렇지 않으면 변수의 값을 반환합니다. 예를 들어 value ?? 'default'value가 null 또는 undefined이면 'default'를 반환하고, 그렇지 않으면 value를 반환합니다. 이는 || 연산자와 비슷하지만, ||는 falsy 값(0, '', NaN 등)을 처리하는 반면 ??는 오직 nullish 값만 처리한다는 차이점이 있습니다.

이전에는 null 또는 undefined를 확인하기 위해 && 연산자를 사용하거나 삼항 연산자를 사용해야 했지만, 옵셔널 체이닝과 널 병합 연산자를 사용하면 코드를 더 간결하고 가독성 좋게 만들 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 JavaScript 면접 질문

← JavaScript 면접 질문 전체 보기