타입스크립트를 사용하면서 data.value.setData(resultData);
로 작성을 했더니
'data.value' is possibly 'undefined'.ts(18048) 라는 오류가 생겼다.
이는 'data.value'는 '정의되지 않음 (null | undefined) '일 수 있습니다.ts(18048) 라는 메세지이다.
아래와 같이 해당 value
는 null | undefinded
가 아니라고 확신하는 경우 TypeScript에 !
로 알려준다.
data.value!.setData(resultData);
TypeScript
에서 !
연산자는 Non-null assertion operator
라고 불린다. 이 연산자는 개발자가 해당 값이 null
또는 undefined
가 아니라고 확신하는 경우에 사용된다.
이렇게 함으로써 TypeScript
의 타입 체커는 gridApi.value
가 null
또는 undefined
일 수 있다는 오류를 발생시키지 않는다.
하지만 주의해야 할 점은, !
연산자는 개발자가 해당 값이 null
또는 undefined
가 아니라고 확신할 때만 사용해야 한다. 만약 data.value가 실제로 null 또는 undefined라면, 이 코드는 런타임에서 오류를 발생시키니 주의