unicorn/no-array-for-each 제한
동작 방식
Array#forEach 사용을 금지하고, 대신 for 루프 사용을 권장합니다.
왜 나쁜가요?
for…of 문 은 forEach 메서드보다 다음과 같은 장점이 있습니다:
- 더 빠름
- 더 좋은 가독성
break또는return을 통해 조기 종료 가능
또한, TypeScript를 사용하는 경우 for…of는 함수 경계를 넘지 않기 때문에 큰 이점을 제공합니다. 이는 현재 스코프 내에서 타입 좁히기가 반영되어 루프 내부에서도 제대로 작동함을 의미합니다 (재타입 좁히기를 다시 하지 않아도 됩니다). 게다가, 루프 내부에서 변경된 변수들은 변수가 사용되고 있는지 판단하는 데 올바르게 반영됩니다.
예시
이 규칙에 적합하지 않은 코드 예시:
javascript
const foo = [1, 2, 3];
foo.forEach((element) => {
/* ... */
});이 규칙에 적합한 코드 예시:
javascript
const foo = [1, 2, 3];
for (const element of foo) {
/* ... */
}사용 방법
이 규칙을 구성 파일 또는 명령줄 인터페이스에서 활성화하려면 다음을 사용할 수 있습니다:
json
{
"rules": {
"unicorn/no-array-for-each": "error"
}
}bash
oxlint --deny unicorn/no-array-for-each