불필요한 타입 검사

불필요한 타입 검사 (unnecessary_type_check)

이 문서는 Dart 분석기(analyzer)가 만들어 내는 unnecessary_type_check 진단(diagnostic)에 대해 설명해요. 타입 검사(is 또는 is! 사용)의 값이 컴파일 시점에 이미 알려져 있을 때 분석기가 이 진단을 알려 줘요. 어떤 경우에 발생하는지, 어떻게 고치는지 함께 알아볼게요.

출처: unnecessary_type_check

본문

설명

분석기는 타입 검사(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;

더 알아보기