Javascript5 콜백함수 🗣️ 들어가기 전에mdn에 보면 흔히 사용하는 map(), setTimeout() 등의 첫번째 인자는 callbackFn으로 기입되어 있으며, 콜백함수를 의미한다.이 포스팅을 통해 다음을 이해할 수 있다.1. 콜백함수란 무엇인가?2. 콜백함수의 this3. 콜백 지옥?콜백함수?🔥다른 코드에게 인자로 넘겨줌으로써 그 제어권도 함께 위임하는 함수let count = 0;let cbFunc = function() { console.log(count); if(++count > 4) clearInterval(timer);}let timer = setInterval(cbFunc, 5000); 코드를 실행해보면 setInterval에 전달한 첫번째 인자인 cbFunc(콜백함수)는 5초마다 자동으로 실행될 것이.. 2025. 2. 12. 비동기 프로그래밍(2) - async await async await ? 비동기 프로그래밍을 동기 프로그래밍처럼 작성할 수 있도록 함수에 추가된 기능 🔍 async await 이해하기 ① async await 함수는 프로미스를 반환한다 ➡︎ 함수 호출 후 then 메서드를 사용할 수 있음 async function getData(){ return 123; } getData().then(data => console.log(data)); // 123 ② await 키워드는 async await 함수 내부에서 사용된다. ➡︎ await 키워드는 async 키워드 없이 사용 ❌ ③ await 키워드 오른쪽에 프로미스를 입력하면 그 프로미스가 settled 상태가 될 때까지 기다림 function requestData(value){ return new Prom.. 2021. 9. 28. 비동기 프로그래밍(1) - Promise Promise란? - 비동기 상태를 값으로 다룰 수 있는 객체 - 콜백 지옥의 문제를 보완하기 위해 나온 문법 Promise의 3가지 상태 +) fulfilled와 rejected 상태를 setteld 상태라고 부름 pending : 결과를 기다리는 중 fulfilled : 수행이 정상적으로 끝났고 결과값을 가지고 있음 rejected : 수행이 비정상적으로 끝났음 Promise 생성 방법 ① new 키워드 const p1 = new Promise((resolve, reject) => { // resolve(data); // reject("error message"); }); 일반적으로 promise를 생성하는 방법 pending 상태의 promise가 생성됨 비동기 작업 수행을 성공하면 resolve .. 2021. 9. 27. 스코프(Scope) 스코프(Scope)란? 식별자(변수)에 대한 유효한(살아있는) 범위 *스코프가 없다면? 코드 전체에서 절대 충돌하지 않는 식별자(변수)명을 오직 하나만 작성할 수 있음 스코프의 종류 1. 전역 스코프(Global Scope) 코드 어디에서든지 참고 가능 예를 들어, var 변수를 함수가 아닌 곳에서 선언하면 전역 객체에 속하게 된다. *Client(브라우저)의 전역객체는 window, Node.js에서는 global var a = '안녕'; console.log(a); //안녕 console.log(window.a) //안녕 2. 지역 스코프(Local Scope) ① ES5의 스코프 범위는 함수이다(= 함수에 의해서만 스코프가 생성됨) if(true){ var x = 5; } consol.log(x);.. 2021. 9. 17. Javascript 작동 원리와 이벤트 루프 이번 프리온보딩 개인과제로 이벤트 루프가 나왔다. 이벤트 루프에 대해 공부하면서 Javascript 엔진과 함께 사용되는 용어라는 것을 알았다. 또한 Javascript는 단일 스레드 프로그래밍인데 어떻게 비동기 함수가 실행되는지도 궁금해서 Javascript 작동원리에 대해서도 알아봤다. 그럼 이제 이벤트 루프 내용을 담은 Javascript 작동 원리에 대해 알아보자! Javascript 작동 기본 구조 자바스크립트를 작동하기 위해서 크게 JS엔진, Web APIs, Callback Queue 이렇게 3가지로 구성되어있다. JS 엔진 * v8엔진에 초점을 두어 설명 - Memory Heap : 메모리 할당이 일어나는 곳이다. ex) 개발자가 선언한 함수/변수 등이 존재한다. - Call Stack :.. 2021. 8. 13. 이전 1 다음