avoid_double_and_int_checks
Avoid double
and int
checks.
This rule is available as of Dart 2.0.
Details
#AVOID to check if type is double
or int
.
When compiled to JS, integer values are represented as floats. That can lead to some unexpected behavior when using either is
or is!
where the type is either int
or double
.
BAD:
f(num x) {
if (x is double) {
...
} else if (x is int) {
...
}
}
GOOD:
f(dynamic x) {
if (x is num) {
...
} else {
...
}
}
Usage
#To enable the avoid_double_and_int_checks
rule, add avoid_double_and_int_checks
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- avoid_double_and_int_checks
Unless stated otherwise, the documentation on this site reflects Dart 3.6.0. Page last updated on 2024-07-03. View source or report an issue.