prefer_ is_ not_ operator
Use the 'is!' operator rather than negating the value of the 'is' operator.
Description
#
The analyzer produces this diagnostic when the prefix
!
operator is used
to negate the result of an
is
test.
Example
#
The following code produces this diagnostic because the result of testing
to see whether
o
is a
String
is negated using the prefix
!
operator:
String f(Object o) {
if (!(o is String)) {
return o.toString();
}
return o;
}
Common fixes
#Use the is!
operator instead:
String f(Object o) {
if (o is! String) {
return o.toString();
}
return o;
}
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-1. View source or report an issue.