자바스크립트는 절차 지향적 언어들과 달리 으로 동기화되어 실행되지 않는다. 시간이 걸리는 작업은 바로 실행되지 않고 콜백 큐에 넣어두고 다음 코드로 넘어가게 된다. 문제상황 그래서 아래와 같이 배열 요소마다 시간이 걸리는 연산(작업)은 각 연산이 끝날때 까지 기다리지 않고, 콜백 큐에 넣어 두고 넘어간다. 그렇기 때문에 아래와 같이 코드를 짜면, 연산이 끝나지 않은 값이 반환된것을 볼 수 있다. function work() { let arr = [1, 2, 3, 4, 5, 6]; arr.forEach(element=>{ setTimeout(()=>{ element *= 10; }, 100); }); return arr; } console.log("work return: ", work()); 해결 방법 그..