prefer_conditional_assignment 린트: 조건부 할당은 null-aware 연산자로 써요

prefer_conditional_assignment 린트: 조건부 할당은 null-aware 연산자로 써요

Dart 분석기가 내보내는 진단에는 이름이 있어요. prefer_conditional_assignment변수에 값을 할당하는 조건이 그 변수가 null인지 여부에 기반할 때, 대신 ??= 연산자를 쓸 수 있는 상황에서 분석기가 알려주는 린트(lint) 규칙이에요. if 문은 null-aware 할당으로 바꿀 수 있어요.

출처: prefer_conditional_assignment

본문

설명

분석기는 변수에 대한 할당이 그 변수가 null인지 여부에 따라 조건부로 이뤄지고, 그 대신 ??= 연산자를 쓸 수 있을 때 이 진단을 만들어요.

예시

다음 코드는 매개변수 s를 null과 비교해 다른 값을 할당할지 결정하기 때문에 이 진단이 나와요.

int f(String? s) {
  if (s == null) {
    s = '';
  }
  return s.length;
}

흔한 해결 방법

명시적인 if 문 대신 ??= 연산자를 사용해 주세요.

int f(String? s) {
  s ??= '';
  return s.length;
}

더 알아보기