Skip to content
← Back to rules

eslint/no-unneeded-ternary 의심스러움

An auto-fix is available for this rule.

작동 방식

더 간단한 대안이 존재할 때, 삼항 연산자를 사용하지 않도록 차단합니다.

왜 나쁜가요?

자바스크립트에서 조건부 표현식을 두 개의 부울 값 사이에서 선택하는 데 사용하는 것은 흔한 실수입니다. 이를 보다 적절하게 처리하려면 테스트를 부울로 변환하기 위해 !를 사용해야 합니다.

또 다른 흔한 실수는 단일 변수를 조건 테스트와 결과 모두에 사용하는 것입니다. 이러한 경우, 논리적 또는 연산자(||)를 사용하여 동일한 기능을 제공할 수 있습니다.

예시

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

js
const isYes = answer === 1 ? true : false;
const isNo = answer === 1 ? false : true;

foo(bar ? bar : 1);

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

js
const isYes = answer === 1;
const isNo = answer !== 1;

foo(bar || 1);

구성 방법

이 규칙은 다음 속성을 가진 구성 객체를 받습니다.

defaultAssignment

type: boolean

기본값: true

기본 할당 패턴 x ? x : y를 허용할지 여부.

false로 설정하면 x ? x : y 같은 경우도 경고하고, 대신 논리합(||) 형식인 x || y를 사용하도록 제안합니다. true로 설정된 경우(기본값), 이러한 기본 할당은 허용되며 보고되지 않습니다.

사용 방법

이 규칙을 구성 파일이나 명령줄 인터페이스에서 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "no-unneeded-ternary": "error"
  }
}
bash
oxlint --deny no-unneeded-ternary

참고 문서