[TypeScript] 느낌표 "!" 단언 연산자 (Non-null assertion operator)

JooSehyun·2024년 4월 12일
0

[Study]

목록 보기
30/35
post-thumbnail

[TypeScript] 느낌표 "!" 단언 연산자 (Non-null assertion operator)


타입스크립트를 사용하면서 data.value.setData(resultData); 로 작성을 했더니

'data.value' is possibly 'undefined'.ts(18048) 라는 오류가 생겼다.

이는 'data.value'는 '정의되지 않음 (null | undefined) '일 수 있습니다.ts(18048) 라는 메세지이다.

단언 연산자 (Non-null assertion operator)

아래와 같이 해당 valuenull | undefinded 가 아니라고 확신하는 경우 TypeScript에 ! 로 알려준다.

data.value!.setData(resultData);

TypeScript에서 ! 연산자는 Non-null assertion operator라고 불린다. 이 연산자는 개발자가 해당 값이 null 또는 undefined가 아니라고 확신하는 경우에 사용된다.

이렇게 함으로써 TypeScript의 타입 체커는 gridApi.valuenull 또는 undefined일 수 있다는 오류를 발생시키지 않는다.

하지만 주의해야 할 점은, ! 연산자는 개발자가 해당 값이 null 또는 undefined가 아니라고 확신할 때만 사용해야 한다. 만약 data.value가 실제로 null 또는 undefined라면, 이 코드는 런타임에서 오류를 발생시키니 주의


0개의 댓글