Skip to content
← Back to rules

typescript/no-array-delete 정확성

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.

작동 방식

이 규칙은 배열 값에 delete 연산자를 사용하는 것을 금지합니다.

왜 문제인가요?

배열에 delete 연산자를 사용할 경우, 요소는 실제로 제거되지 않고 배열 슬롯이 undefined로 변합니다. 이는 일반적으로 의도한 동작이 아닙니다. 대신, 배열에서 요소를 올바르게 제거하려면 Array.prototype.splice()와 같은 메서드를 사용해야 합니다.

예시

이 규칙에 대해 잘못된 코드 예시:

ts
declare const arr: number[];
delete arr[0];

이 규칙에 대해 올바른 코드 예시:

ts
declare const arr: number[];
arr.splice(0, 1);

// 또는 필터를 사용한 경우
const filteredArr = arr.filter((_, index) => index !== 0);

// 객체에 대한 삭제는 허용됨
declare const obj: { a?: number };
delete obj.a;

사용 방법

구성 파일이나 명령줄 인터페이스에서 이 규칙을 활성화하려면 다음을 사용하세요:

json
{
  "rules": {
    "typescript/no-array-delete": "error"
  }
}
bash
oxlint --type-aware --deny typescript/no-array-delete

참고자료