작성
·
240
0
해당 두기능의 코드적인 역할을 보면, 두개의 값 모두 undefined와 null의 유무를 or로 검사하고, 그에 따른 값을 반환해주는다는 입장에서 똑같은 기능인 듯 한데, 어떤 차이점으로 인해서 구분이 되어져 있는지 궁금합니다. 제가 개념적으로 놓친 부분이 있는 것 같습니다.
추가적으로 vscode환경상에서 javascript코드를 바로실행하시는데, 해당 환경을 어떻게 구성하셨는지 여쭙고 싶습니다. runcode라는 vscode모듈로는 예제에서 실행이 안되는 코드가 있어서요.(말씀드린 두 문법도 vscode상에서는 실행이 안되서 테스트해보기가 힘듭니다.)
답변 1
1
안녕하세요
nullish coalescing 은 기본값을 입력할 때 사용하고, optional chaining 은 속성에 (편하게) 접근할 때 사용합니다
따라서 사용하는 목적이 다르다고 볼 수 있습니다
bestFriend 가 없을 수도 있을 때, optional chaining 을 이용하면 편하게 코드를 작성
>> user.bestFriend?.name
bestFriend 가 없을 수도 있을 때, nullish coalescing 을 이용해서 기본값 정의
>> user.bestFriend?.name ?? 'unknown'
두 문법은 nodejs 최신 버전을 설치하셔야 실행할 수 있습니다 (아마도 v14 이상인 것 같네요)