for문과 foreach문의 차이에 대해 알아보자
for문 예시
for(let i =0; i<length; i++){
...
}
초기값부터 시작해서 증가 또는 감소하면서 조건에 부합하면 계속 순회한다.
중간에 break문을 만나면 반복을 중단한다.
foreach문 예시
object.forEach(function(var){
...
})
object.forEach((var)=>{
...
})
배열의 각 요소에 대해 callback을 실행한다.
배열을 순회하므로 중간에 break문을 사용할 수 없다.
map 예시
array.map(callback(currentValue[, index[, array]])[, thisArg])
배열의 각 요소에 대해 callback을 실행하고 실행결과를 모은 새 배열을 리턴한다.
배열을 순회하므로 중간에 break문을 사용할 수 없다.
동기(sync), 비동기(async)의 차이
for는 동기방식이기 때문에 for문 안에 오류가 나면 에러 위치 이후의 이벤트들은 동작하지 않고 멈춰버린다.
foreach는 ES6 문법으로 콜백함수를 뿌린다. 비동기 방식으로 진행되기 때문에 foreach문 안에 에러가 발생하더라도 멈추지 않고 동작한다. 대신 원하는 순서와는 다르게 프로그램이 동작할 수 있다.
TIL
그 동안은 용도를 구분하지 않고 그때 그때 내키는 대로 썼는데, 이제 용도의 차이를 알게 됐으니 구분해서 쓰도록 노력해야겠다.
'웹개발 > javascript' 카테고리의 다른 글
[Javascript] This 정의 및 용법 (0) | 2024.01.05 |
---|---|
[Javascript] Set, Map, Object 차이 (0) | 2024.01.04 |
Javascript 배열 관련 함수들(push,pop,shift,unshift,splice,slice) (1) | 2024.01.03 |
제이쿼리란? 제이쿼리 정의 및 사용법 (1) | 2023.12.28 |
[javacript] 자바스크립트란? 자바스크립트 정의 및 기초 문법 (0) | 2023.12.26 |