メインコンテンツにスキップ

avoid_double_and_int_checks

安定版

double および int のチェックを避ける。

詳細

#

型が double または int であるかどうかをチェックするのは避けてください

JS にコンパイルされると、整数値は浮動小数点数として表現されます。これにより、型が int または double である場合に is または is! を使用すると、予期しない動作が発生する可能性があります。

悪い例

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 ファイルの linter > rules の下に avoid_double_and_int_checks を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_double_and_int_checks

代わりに YAML マップ構文を使用して linter ルールを設定している場合は、linter > rules の下に avoid_double_and_int_checks: true を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    avoid_double_and_int_checks: true