없을 수 있는 중첩 값에 안전하게 접근하고 정확한 기본값을 선택합니다.
optional chaining은 왼쪽 값이 null 또는 undefined이면 평가를 멈추고 undefined를 반환합니다. ??는 null과 undefined에만 기본값을 적용해 0, false, 빈 문자열을 보존합니다. 값이 반드시 있어야 하는 상황에서 오류를 숨기는 용도로 남용하지 않습니다.
코드를 읽을 때는 user.profile?.name ?? "이름 없음" 부분부터 찾으세요. 현재 값과 실행 순서를 줄마다 적어 보면 문법을 외우지 않아도 결과를 예측할 수 있습니다.
실행하기 전에 예상 결과를 짧게 적은 뒤 profile 자체가 null인 사용자를 추가하고 결과를 확인하세요. 실제 출력이 다르면 콘솔에 처음 나타난 오류와 그 직전 값을 차례로 확인하세요.
||를 기본값에 쓰면 유효한 0, false, 빈 문자열도 대체됩니다. 데이터 의미에 맞춰 ??와 구분하세요.
직접 바꿔보세요profile 자체가 null인 사용자를 추가하고 결과를 확인하세요.