Skip to content
← Back to rules

eslint/no-extra-boolean-cast 정확성

This rule is turned on by default.
🛠️💡 An auto-fix and a suggestion are available for this rule for some violations.

작동 방식

이 규칙은 불필요한 부울 형변환을 금지합니다.

왜 문제인가요?

조건문의 조건부에서 표현식의 결과가 이미 부울 타입으로 강제 변환되는 경우, 이중 부정(!!) 또는 Boolean 호출을 통해 부울로 변환하는 것은 불필요합니다.

예시

이 규칙에 부적절한 코드 예시:

javascript
var foo = !!!bar;
var foo = Boolean(!!bar);

if (!!foo) {
}
if (Boolean(foo)) {
}

// "enforceForInnerExpressions" 옵션 활성화 시
if (!!foo || bar) {
}

이 규칙에 적절한 코드 예시:

javascript
var foo = !bar;
var foo = Boolean(bar);

if (foo) {
}
if (foo) {
}

// "enforceForInnerExpressions" 옵션 활성화 시
if (foo || bar) {
}

구성

이 규칙은 다음 속성을 가진 구성 객체를 수용합니다.

enforceForInnerExpressions

type: boolean

기본값: false

true로 설정하면 기본적인 검사 외에도, 부울 컨텍스트에서 사용되는 표현식 내에서 불필요한 부울 형변환이 존재하는지 확인합니다. 아래 예시를 참조하세요. 기본값은 false이며, 이는 기본적으로 내부 표현식 내의 불필요한 부울 형변환에 대해 경고하지 않는다는 의미입니다.

사용 방법

구성 파일 또는 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음과 같이 사용할 수 있습니다:

json
{
  "rules": {
    "no-extra-boolean-cast": "error"
  }
}
bash
oxlint --deny no-extra-boolean-cast

참고 자료