跳过主内容

prefer_conditional_assignment

'if' 语句可以替换为空判断赋值表达式。

描述

#

当一个变量的赋值基于其是否为 null 且可以使用 ??= 运算符时,分析器会产生此诊断信息。

示例

#

以下代码会产生此诊断信息,因为它正在将参数 snull 进行比较,以确定是否赋一个不同的值。

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

常见修复

#

使用 ??= 运算符代替显式的 if 语句

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