Skip to content
← Back to rules

oxc/bad-array-method-on-arguments 정확성

This rule is turned on by default.

작동 방식

이 규칙은 arguments 객체 자체에 배열 메서드가 호출될 때 적용됩니다.

왜 문제인가요?

arguments 객체는 배열이 아니라 배열처럼 보이는 객체입니다. 배열 메서드를 호출하기 전에 실제 배열로 변환해야 합니다. 그렇지 않으면 해당 메서드가 존재하지 않아 TypeError 예외가 발생합니다.

현재 타입 체크 시 이러한 오류를 잡아낼 수 있기 때문에, 순수하게 TypeScript만 사용하는 경우 이 규칙이 필요하지 않을 수 있습니다.

현대적인 자바스크립트에서는 일반적으로 arguments 사용을 피하는 것이 바람직하며, 대신 나머지 매개변수(rest parameters)를 사용하는 것이 좋습니다. 예를 들어 function sum(...args)처럼 작성하세요.

예시

이 규칙에 적절하지 않은 코드 예시:

javascript
function add(x, y) {
  return x + y;
}
function sum() {
  return arguments.reduce(add, 0);
}

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

javascript
function add(x, y) {
  return x + y;
}

function sum(...args) {
  return args.reduce(add, 0);
}

사용 방법

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

json
{
  "rules": {
    "oxc/bad-array-method-on-arguments": "error"
  }
}
bash
oxlint --deny oxc/bad-array-method-on-arguments

참고자료