跳到主內容

prefer_is_not_operator

使用 'is!' 運算子,而不是對 'is' 運算子的結果取反。

描述

#

當使用字首運算子 !is 測試的結果取反時,分析器會生成此診斷訊息。

示例

#

以下程式碼會生成此診斷訊息,因為它使用字首運算子 ! 對測試 o 是否為 String 的結果取反

dart
String f(Object o) {
  if (!(o is String)) {
    return o.toString();
  }
  return o;
}

常見修復

#

改用 is! 運算子

dart
String f(Object o) {
  if (o is! String) {
    return o.toString();
  }
  return o;
}