typescript/no-confusing-void-expression Pedantic
작동 방식
이 규칙은 화살표 함수 반환 등 의미가 모호한 위치에서 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