ERROR : Object is possibly 'undefined'.ts(2532)

타입스크립트에서 object가 undefined 되었다는 에러발생
아마도 타입스크립트가
product 상수 값이 할당되지 않았을때의 타입값에 대해서 ‘난 이 시점에서 에러 발생할거니까
좀 더 분명하게 코드를 작성해줘’ 라고 하면서 타입추론을 못해서 에러를 발생시키는 것같다.
그래서 if문으로 감싸주어서 해결했다.

If문 외 다른 방법을 보자면
non-null assertion -타입단언
타입 단언이라는 것을 이용할 수 있는데 ! 와 as 가 있다.
! 는
product 상수 뒤에 ! 를 붙인다.
이는 강제적으로 타입스크립트에게 강제로 undefined에 대해 알리지 말라고 생각하면 된다.

as 는
product 할당 값을 정의하고 뒤에 as 타입
이렇게 정의하면 된다.

다만 사용시 주의할 점은 타입단언을 남발하게 되면 타입 추적이 되지 않을 수가 있다.
'Typescript' 카테고리의 다른 글
Error : Property 'sagaTask' does not exist on type 'Store<any, AnyAction> & { dispatch: unknown; }'.ts(2339) (0) | 2022.01.30 |
---|---|
Error: window is not defined (0) | 2022.01.18 |