Skip to content
← Back to rules

typescript/no-confusing-void-expression Pedantic

💭 This rule requires type information.
🛠️💡 An auto-fix and a suggestion are available for this rule.

작동 방식

이 규칙은 화살표 함수 반환 등 의미가 모호한 위치에서 void 표현식을 사용하는 것을 금지합니다.

왜 문제가 되는가?

void 연산자는 표현식을 평가하면서 결과를 undefined로 만들고 싶을 때 유용합니다. 그러나 반환 값이 의미 있는 곳, 특히 화살표 함수나 조건부 표현식에서 사용될 경우 혼란스러울 수 있습니다.

예시

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

ts
// void 표현식을 반환하는 화살표 함수
const foo = () => void bar();

// 조건부 표현식
const result = condition ? void foo() : bar();

// 조건부 내에서의 void
if (void foo()) {
  // ...
}

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

ts
// void의 올바른 사용
void foo();

// 명시적인 반환 문
const foo = () => {
  bar();
  return;
};

// 문장 표현식
foo();

// void를 사용한 즉시 실행 함수
void (function () {
  console.log("즉시 실행됨");
})();

구성 방법

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

ignoreArrowShorthand

type: boolean

기본값: false

void를 반환하는 화살표 함수 단축형을 무시할지 여부. true일 경우 () => someVoidFunction() 같은 표현식을 허용합니다.

ignoreVoidOperator

type: boolean

기본값: false

void 연산자를 사용하는 표현식을 무시할지 여부. true일 경우 void someExpression을 허용합니다.

ignoreVoidReturningFunctions

type: boolean

기본값: false

void를 반환하도록 선언된 함수를 호출하는 경우를 무시할지 여부. true일 경우 x = voidReturningFunction() 같은 표현식을 허용합니다.

사용 방법

구성 파일 또는 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용하세요:

json
{
  "rules": {
    "typescript/no-confusing-void-expression": "error"
  }
}
bash
oxlint --type-aware --deny typescript/no-confusing-void-expression

참고 항목