跳到主要內容

avoid_double_and_int_checks

穩定

避免檢查 doubleint

詳情

#

避免檢查型別是否為 doubleint

當編譯為 JS 時,整數值會表示為浮點數。這在使用 isis! 檢查型別為 intdouble 時可能導致一些意外行為。

不推薦

dart
f(num x) {
  if (x is double) {
    ...
  } else if (x is int) {
    ...
  }
}

推薦

dart
f(dynamic x) {
  if (x is num) {
    ...
  } else {
    ...
  }
}

啟用

#

要啟用 avoid_double_and_int_checks 規則,請在您的 analysis_options.yaml 檔案中,將 avoid_double_and_int_checks 新增到 linter > rules

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_double_and_int_checks

如果您使用 YAML map 語法配置 linter 規則,請在 linter > rules 下新增 avoid_double_and_int_checks: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_double_and_int_checks: true