Skip to main content

prefer_conditional_assignment

The 'if' statement could be replaced by a null-aware assignment.

Description

#

The analyzer produces this diagnostic when an assignment to a variable is conditional based on whether the variable has the value null and the ??= operator could be used instead.

Example

#

The following code produces this diagnostic because the parameter s is being compared to null in order to determine whether to assign a different value:

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

Common fixes

#

Use the ??= operator instead of an explicit if statement:

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