인프런 커뮤니티 질문&답변

groovejumat님의 프로필 이미지

작성한 질문수

실전 자바스크립트

nulish coalescing 과 optional chaining의 차이점은 무엇인가요?

21.02.21 10:31 작성

·

224

0

해당 두기능의 코드적인 역할을 보면, 두개의 값 모두 undefined와 null의 유무를 or로 검사하고, 그에 따른 값을 반환해주는다는 입장에서 똑같은 기능인 듯 한데, 어떤 차이점으로 인해서 구분이 되어져 있는지 궁금합니다. 제가 개념적으로 놓친 부분이 있는 것 같습니다.

추가적으로 vscode환경상에서 javascript코드를 바로실행하시는데, 해당 환경을 어떻게 구성하셨는지 여쭙고 싶습니다. runcode라는 vscode모듈로는 예제에서 실행이 안되는 코드가 있어서요.(말씀드린 두 문법도 vscode상에서는 실행이 안되서 테스트해보기가 힘듭니다.)

답변 1

1

이재승님의 프로필 이미지
이재승
지식공유자

2021. 02. 21. 15:00

안녕하세요
nullish coalescing 은 기본값을 입력할 때 사용하고, optional chaining 은 속성에 (편하게) 접근할 때 사용합니다
따라서 사용하는 목적이 다르다고 볼 수 있습니다

bestFriend 가 없을 수도 있을 때, optional chaining 을 이용하면 편하게 코드를 작성
>> user.bestFriend?.name

bestFriend 가 없을 수도 있을 때, nullish coalescing 을 이용해서 기본값 정의
>> user.bestFriend?.name ?? 'unknown'

두 문법은 nodejs 최신 버전을 설치하셔야 실행할 수 있습니다 (아마도 v14 이상인 것 같네요)