跳過主內容

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;
}