avoid_double_and_int_checks 린트 규칙: double·int 타입 확인 피하기
avoid_double_and_int_checks 린트 규칙: double·int 타입 확인 피하기
JavaScript로 컴파일하면 정수 값이 부동소수점으로 표현돼요. 그래서 is나 is!로 타입이 int인지 double인지 확인하면 예상 밖의 동작이 생길 수 있어요. 이 린트 규칙은 그런 double·int 타입 확인을 잡아내서 알려줘요.
본문
설명
타입이 double인지 int인지 확인하지 마세요.
JavaScript로 컴파일되면 정수 값이 부동소수점으로 표현돼요. 그래서 타입이 int거나 double인 경우에 is나 is!를 사용하면 예상 밖의 동작이 생길 수 있어요.
BAD:
f(num x) {
if (x is double) {
...
} else if (x is int) {
...
}
}
GOOD:
f(dynamic x) {
if (x is num) {
...
} else {
...
}
}
활성화 방법
avoid_double_and_int_checks 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.
linter:
rules:
- avoid_double_and_int_checks
대신 YAML 맵 문법을 사용해서 린트 규칙을 설정하고 있다면, linter > rules 아래에 avoid_double_and_int_checks: true를 추가하면 돼요.
linter:
rules:
avoid_double_and_int_checks: true