type_check_with_null 진단: null 검사는 타입 검사 대신 비교 연산자로

type_check_with_null 진단: null 검사는 타입 검사 대신 비교 연산자로

분석기가 내보내는 진단에는 이름이 있어요. type_check_with_nullas 연산자를 쓴 타입 검사에서 타입이 Null일 때 Dart 분석기가 알려주는 진단이에요. 타입이 Null인 값은 하나뿐이기 때문에, null 여부를 명시적으로 검사하는 편이 코드를 더 읽기 좋게 만들고 성능도 더 좋아요. non-null 검사는 != null로, null 검사는 == null로 해야 해요.

출처: type_check_with_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);
}

더 알아보기