그저 내가 되었고

🫧TS:: Object is possibly 'null' 에러 발생시 본문

개발/TypeScript

🫧TS:: Object is possibly 'null' 에러 발생시

hyuunii 2023. 1. 14. 14:13

✔︎상황:: 

이상했따. 서버 잘 켜지고, 심지어 코드 잘 작동한다.(회원가입/로그인 전부 문제가 없음...  토큰도 잘나옴;;;;)

근데 68번째줄의 getNickname변수의 nickName값이 빨간줄이 계속 그였다...

 

 

✔︎에러::

Object is possibly 'null'

 

 

✔︎발생 원인::

"getNickName에서 nickName이란 object를 뽑는다규욥? 근데 걔가 null일 수 있어요!!!!"

라고 똑똑한 타입이가 외치고 있는 거여따.

타입.. 체고당..... 너 쫌 귀여워..............

 

 

✔︎해결법::

구롷다면 nickName이 null이라면 Error를 던지게끔 핸들링을 해주면 될 일이어따.

const getNickName = await this.usersService.getNickName(userId);
            if (!getNickName) {
                throw new Error();
            }

 

에러 핸들링을 하자 마자 바~아로 빨간줄이 사라지는 매직🪄을 구경할 수 있었따.

 

const foo: string | null = 값 일때,

if (!foo) { 
   핸들링
}

이런식으로.. 핸들링을 한 바로 아래부터는 타입이가 알아서 foo는 null이 아니라고 판단한당.

이미 위에서 if문 분기로 null일경우를 처리해버렸쓰니까.