typescript/no-array-delete 정확성
작동 방식
이 규칙은 배열 값에 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