type_check_with_null 진단: null 검사는 타입 검사 대신 비교 연산자로
type_check_with_null 진단: null 검사는 타입 검사 대신 비교 연산자로
분석기가 내보내는 진단에는 이름이 있어요. type_check_with_null은 as 연산자를 쓴 타입 검사에서 타입이 Null일 때 Dart 분석기가 알려주는 진단이에요. 타입이 Null인 값은 하나뿐이기 때문에, null 여부를 명시적으로 검사하는 편이 코드를 더 읽기 좋게 만들고 성능도 더 좋아요. non-null 검사는 != null로, null 검사는 == null로 해야 해요.
본문
설명
분석기는 타입이 Null인 타입 검사(as 연산자 사용)가 있을 때 이 진단을 만들어요. 타입이 Null인 값은 하나뿐이기 때문에, null을 명시적으로 검사하는 편이 코드를 더 읽기 좋게 만들고 성능도 더 좋아요.
예시
다음 코드는 타입 검사를 써서 s의 값이 null인지 확인하려 하기 때문에 이 진단을 만들어요.
void f(String? s) {
if (s is Null) {
return;
}
print(s);
}
다음 코드는 타입 검사를 써서 s의 값이 null이 아닌지 확인하려 하기 때문에 이 진단을 만들어요.
void f(String? s) {
if (s is! Null) {
print(s);
}
}
흔한 해결 방법
타입 검사를 null과의 동등 비교로 바꿔요.
void f(String? s) {
if (s == null) {
return;
}
print(s);
}