Skip to content
← Back to rules

typescript/no-meaningless-void-operator 정확성

This rule is turned on by default when type-aware linting is enabled.
💭 This rule requires type information.
An auto-fix is available for this rule.

작동 방식

이 규칙은 인수가 이미 void 또는 undefined 타입인 경우 void 연산자를 사용하는 것을 금지합니다.

왜 문제가 되는가?

void 연산자는 표현식을 실행하고 그 결과를 undefined로 강제 평가하고자 할 때 유용합니다. 그러나 이미 void 또는 undefined 타입인 표현식에 void를 적용하는 것은 의미가 없으며, 코드에 불필요한 복잡성을 추가합니다.

예시

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

ts
function foo(): void {
  return;
}

void foo(); // 의미 없음, 이미 반환값이 void이므로

void undefined; // 의미 없음, 이미 undefined이므로

async function bar() {
  void (await somePromise); // somePromise가 void를 반환하면 의미 없음
}

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

ts
function getValue(): number {
  return 42;
}

void getValue(); // 의미 있음, 숫자를 void로 변환함

void console.log("hello"); // 의미 있음, console.log는 반환값이 undefined지만 명시적으로 표현하고 싶음

function processData() {
  // 처리 작업
}

processData(); // 반환값에 관심이 없으므로 void 필요 없음

구성

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

checkNever

type: boolean

기본값: false

never 타입의 표현식에 void가 적용되었는지 확인할지 여부.

사용 방법

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

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

참고 자료