use_if_null_to_convert_nulls_to_bools — boolean 비교는 `??` 연산자로
use_if_null_to_convert_nulls_to_bools — boolean 비교는 ?? 연산자로 (폐기됨)
null이 될 수 있는 불리언(bool?)을 조건식에서 쓸 때는 일일이 == true처럼 비교하는 대신 ?? 연산자로 기본값을 채우는 게 깔끔해요. 이 규칙은 현재 폐기(Deprecated)된 상태예요.
본문
Effective Dart 가이드에서도 소개되는 내용인데, null을 불리언으로 변환할 때는 ?? 연산자를 쓰라고 권장해요.
BAD:
if (nullableBool == true) {
}
if (nullableBool != false) {
}
GOOD:
if (nullableBool ?? false) {
}
if (nullableBool ?? true) {
}
nullableBool == true처럼 비교하면 null인 경우를 하나하나 따져야 해서 헷갈리기 쉬워요. nullableBool ?? false처럼 쓰면 null일 때 기본값이 무엇인지 한눈에 드러나요.
더 알아보기
규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 use_if_null_to_convert_nulls_to_bools를 추가하면 돼요.
linter:
rules:
- use_if_null_to_convert_nulls_to_bools
YAML 맵 문법으로 규칙을 설정한다면 linter > rules 아래에 use_if_null_to_convert_nulls_to_bools: true를 쓰면 돼요.
linter:
rules:
use_if_null_to_convert_nulls_to_bools: true