Devin.KR

심화 · 일부 장 공개

이벤트 루프·모듈·성능·테스트

실행 순서, 메모리, 이터레이터와 도구 체인을 실무 관점으로 다시 읽습니다.

읽기 전에

Promise·모듈·DOM 이벤트를 이해하고 있다고 가정합니다.

공개 8/10장 · 목차 구성 2026-09-12

목차

현재 공개된 원고만 표시합니다. 읽음 표시는 직접 선택하며 자동 완료되지 않습니다.

  1. 자바스크립트 이벤트 루프 - 콜 스택, 마이크로태스크, setTimeout 0이 즉시가 아닌 이유

    콜 스택과 태스크 큐, 마이크로태스크 큐가 비워지는 규칙으로 비동기 코드의 실행 순서를 예측하고, setTimeout(0)이 즉시 실행이 아닌 이유와 화면이 멈추는 지점을 측정하는 법을 정리한다.

  2. 자바스크립트 메모리와 가비지 컬렉션 - 누수가 생기는 리스너, 클로저, 전역 캐시 패턴

    가비지 컬렉터가 도달 가능한 객체만 남긴다는 기준에서 출발해 리스너와 클로저, 전역 캐시, 타이머가 만드는 누수 패턴을 짚고 힙 스냅숏 세 장으로 원인을 찾는 절차를 정리한다.

  3. 자바스크립트 이터레이터와 제너레이터 - for of의 동작 원리와 지연 평가

    for...of가 내부에서 호출하는 메서드로 이터러블 프로토콜을 설명하고, 제너레이터로 중간 배열 없는 지연 평가 파이프라인과 커서 기반 API 페이지네이션을 구현한다.

  4. 자바스크립트 Proxy와 Reflect - 반응형 시스템의 원리와 트랩 구현

    Proxy 트랩과 Reflect의 receiver로 의존성을 추적하는 반응형 상태를 직접 만들고, 배열과 내장 객체에서 프록시가 깨지는 경계와 성능 비용까지 함께 따진다.

  5. 자바스크립트 성능 최적화 - 렌더링 차단, 디바운스와 스로틀, 가상 스크롤

    측정을 먼저 하고 렌더링 차단과 레이아웃 스래싱을 걷어낸 뒤, 디바운스와 스로틀, 가상 스크롤을 직접 구현하며 각각이 무엇을 대가로 무엇을 얻는지 판단한다.

  6. 자바스크립트 빌드 도구 - 번들러와 트랜스파일러가 하는 일, 소스맵의 원리

    번들링과 트랜스파일, 트리 셰이킹, 코드 스플리팅이 각각 어떤 문제를 푸는지 구분하고, 소스맵으로 운영 환경 스택 트레이스를 복원하면서 원본은 감추는 방법을 정리한다.

  7. 타입스크립트로 넘어가기 - 왜 필요한가와 자바스크립트 프로젝트 점진적 도입

    타입스크립트가 해 주는 일과 해 주지 않는 일을 구분한 뒤, checkJs와 JSDoc부터 시작해 배포를 멈추지 않고 단계적으로 도입하며 런타임 검증 경계를 세운다.

  8. 자바스크립트 테스트와 디버깅 - 개발자 도구 활용과 단위 테스트 작성

    조건부 브레이크포인트와 로그포인트로 원인을 좁히고, node:test와 Vitest로 순수 함수와 비동기 코드, 타이머가 있는 코드를 테스트하는 기준을 정리한다.

이 책은 기존 Devin.KR 게시글을 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.