// 옵셔널 체이닝 연산자 등장 이전에 사용한 방법let hobbyName = user &&user.hobby &&user.hobby.name// 옵셔널 체이닝 연산자 활용 예시hobbyName =user?.hobby?.name
// options 객체에 onSuccess 속성이 없을 경우 undefined 반환constonSuccess=options?.onSuccess;// 아래 코드는 onSuccess 값이 undefined 여도 오류를 발생하지 않음onSuccess?.();// 체이닝을 사용해 문장 구문을 줄일 수 있음options?.onSuccess?.();// options 객체의 onSuccess 속성이 존재할 경우,// 호출 전에 추가적인 옵셔널 체이닝 연산자(?.)를 붙히지 않는 것이 좋음// 오직 왼쪽에 있는 항목이 존재하지 않을 수도 있는 경우에만 체이닝 연산자(?.)을 사용하는 것을 권장options?.onSuccess();