~/pingulee
← 카테고리

개발/javascript/

3

JavaScript 이벤트 루프 완전 정복

싱글 스레드인 JavaScript가 어떻게 비동기를 처리하는지는 결국 이벤트 루프 하나로 설명된다. 동기 코드는 콜 스택에서 즉시 실행된다. setTimeout 콜백은 태스크 큐로, Promise.then 은 마이크로태스크 큐로 들어간다. 루프는 스택…

조회 0댓글 0개발/javascript

클로저, 어렵지 않아요

클로저는 함수가 선언될 때의 스코프를 기억하는 것 이다. 그게 전부다. 반복문에서 var 로 인덱스를 캡처하면 모든 콜백이 같은 변수를 본다. let 은 블록마다 새 바인딩을 만들어 이 문제를 없앤다. 모듈 패턴, 이벤트 핸들러의 상태 유지, 디바운스…

조회 0댓글 0개발/javascript

async/await로 비동기 깔끔하게

async/await 는 Promise 위에 얹은 문법 설탕이다. 동작은 그대로지만 읽기가 훨씬 낫다. await 를 연달아 쓰면 순차 실행이 된다. 독립적인 요청은 Promise.all 로 묶어 한 번에 기다리자. 순차와 병렬을 구분하는 것이 성능의…

조회 0댓글 0개발/javascript