EMDI는 지금도 개발중

JavaScript : for문, forEach문 차이점 본문

프론트/JavaScript

JavaScript : for문, forEach문 차이점

EMDI 2023. 4. 26. 15:24
// for문
for(let i=0; i<length; i++) {
 ...
}

// foreach문
object.forEach(function(var) {
 ...
});
또는
object.forEach(function(var) => {
 ...
});

 

1. 동기(sync), 비동기(async)의 차이

for문은 동기(sync) 방식이기 때문에 for문 안에서 오류가 나면 에러난 위치 이후의 이벤트들은 동작하지 않고 멈춰버립니다. foreach문은 ES6문법으로 콜백함수를 뿌리기 때문에 비동기(async) 방식으로 진행됩니다. 그래서 foreach문 안에 에러가 발생하더라도 멈추지 않고 그 다음 프로세스를 진행합니다.

2. 성능차이

forEach문은 for문의 향상된 버전이라고 칭할 수 있습니다. 가변적인 배열이나 리스트 크기를 따로 구할 필요가 없어 복잡한 반복문에서 사용성이 용이합니다. 또한 인덱스를 생성하여 접근하는 for문보다 수행속도가 빠릅니다. 단, 반복문 내에서 배열이나 리스트 값을 변경하거나 추가할 수 없다는 점과 읽기 전용으로 불러오기때문에 데이터를 수정하는 행위가 불가능합니다. 또한 배열을 역순으로 탐색할 수 없다라는 단점이 있습니다.

 

Comments