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

박호정님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

12-02 Transaction

queryRunner fineOne 리턴타입

해결된 질문

작성

·

126

0

queryRunner.manager.findOne의 리턴 타입이 {id: string} | null 로 추론되는데 저만 이렇게 추론되는 걸까요? (webstorm 사용 중입니다!) 

답변 1

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! 호정님!

findAll 이 아닌, findOne의 경우. 하나를 찾는 것이므로 없거나 있거나의 결과를 반환하기때문에 null이 나올 수 있어요!

바로 아랫줄에서 _user가 null인 경우의 에러처리를 해주시면 될 것 같아요!^^

if(!_user) throw 에러("user가 존재하지 않습니다")
박호정님의 프로필 이미지
박호정
질문자

아 네 null이 나올 수 있는 부분 설명 감사합니다!
이후 코드에서 _user.point를 참조해야하는데 해당 타입이 없는 것이 문제인데 이 부분은 어떻게 해결해야 할까요?

노원두님의 프로필 이미지
노원두
지식공유자

네! 호정님!

아래와 같은 방식으로 에러처리를 해주시게되면, 타입스크립트가 해당 줄 다음줄부터는 _user가 있다는 상황으로 인식하게 됩니다!^^

if(!_user) throw 에러("user가 존재하지 않습니다") // _user가 없으면 에러로 종료

console.log(_user.point) // 에러아님, _user가 현재 줄에서는 무조건 있으므로