불필요한 타입 검사
불필요한 타입 검사 (unnecessary_type_check)
이 문서는 Dart 분석기(analyzer)가 만들어 내는 unnecessary_type_check 진단(diagnostic)에 대해 설명해요. 타입 검사(is 또는 is! 사용)의 값이 컴파일 시점에 이미 알려져 있을 때 분석기가 이 진단을 알려 줘요. 어떤 경우에 발생하는지, 어떻게 고치는지 함께 알아볼게요.
본문
설명
분석기는 타입 검사(is 또는 is! 사용)의 값이 컴파일 시점에 알려져 있을 때 이 진단을 만들어 내요. 검사 결과가 항상 false이거나 항상 true임이 코드만 봐도 분명한 상황이죠.
예시
다음 코드는 a is Object? 검사가 항상 true이기 때문에 이 진단을 만들어 내요.
bool f(T a) => a is Object?;
일반적인 해결 방법
타입 검사가 의도한 내용을 검사하고 있지 않다면, 검사 내용을 바꿔 주세요.
bool f(T a) => a is Object;
타입 검사가 의도한 내용을 정확히 검사하고 있다면, 타입 검사를 알려진 값으로 바꾸거나 아예 제거해 주세요.
bool f(T a) => true;
더 알아보기
- Dart 분석기 진단 목록에서 다른 진단들도 함께 살펴보세요.
- 타입 시스템과
Object?에 대한 자세한 내용은 Dart 공식 문서의 타입 문서를 참고해요.