목록Language/Javascript (11)
개발자공부일기

Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다.설명Promise 는 프로미스가 생성된 시점에는 알려지지 않았을 수도 있는 값을 위한 대리자로, 비동기 연산이 종료된 이후에 결과 값과 실패 사유를 처리하기 위한 처리기를 연결할 수 있습니다. 프로미스를 사용하면 비동기 메서드에서 마치 동기 메서드처럼 값을 반환할 수 있습니다. 다만 최종 결과를 반환하는 것이 아니고, 미래의 어떤 시점에 결과를 제공하겠다는 '프로미스(promise)'를 반환합니다. Promise는 다음 중 하나의 상태를 가집니다.대기(pending): 이행하지도, 거부하지도 않은 초기 상태.이행(fulfilled): 연산이 성공적으로 완료됨.거부(rejected): 연산이 실패함.대기 중인 프로..
VarES6의 등장 이전에는 문제점들이 있음에도 불구하고 var로 변수를 선언하는 것이 지배적이었는데요. 따라서 새로운 변수 선언 방식이 등장할 수밖에 없었습니다. 우선, 문제점에 대해 논의하기 전에 var 자체에 대해 더 이해해봅시다.Scope of var범위는 기본적으로 변수를 사용할 수 있는 위치를 의미합니다. var 선언은 전역 범위 혹은 함수 범위로 지정됩니다.var변수가 함수 외부에서 선언될 때의 범위는 전역입니다. 즉, 함수 블록 외부에서 var를 사용하여 선언된 모든 변수를 전체 윈도우 상에서 사용할 수 있는 것이죠.var가 함수 내에서 선언될 때는 함수 범위로 지정됩니다. 즉, 해당 함수 내에서만 사용하고 접근할 수 있습니다.자세한 이해를 돕기위해 아래의 예제를 살펴봅시다. var ..
오늘 팀프로젝트에서 forEach안에서 Promise를 사용했는데 작동을 안해서 알아봤다. Promise와 forEach의 동작 차이1. forEach의 동작 방식forEach는 배열의 각 요소를 동기적으로 순회하며 콜백 함수를 실행합니다.즉, 배열의 모든 요소를 비동기 작업 여부와 관계없이 바로 처리합니다.기본 동작const numbers = [1, 2, 3];numbers.forEach((num) => { console.log(num); // 동기적으로 즉시 실행});console.log('Done'); // forEach가 끝나고 실행출력:123Done2. forEach와 비동기 함수forEach에서 콜백 함수가 async일 경우, 콜백 함수가 반환하는 Promise는 무시됩니다.forEach 자..