typescript/no-meaningless-void-operator 정확성
작동 방식
이 규칙은 인수가 이미 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