目錄
目錄

Avoid double and int checks.

This rule is available as of Dart 2.0.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