跳到主内容

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