LearningJavaScript 전환 가이드
실행 환경 경계: 브라우저와 Node
같은 JavaScript라도 실행 환경이 달라지면 동작 범위와 제어 포인트가 바뀐다는 점을 정리합니다.
핵심 메시지
JavaScript는 문법보다 실행 경계가 먼저 다릅니다.
브라우저와 Node는 처리 대상이 다르기 때문에 같은 코드라도 실패 지점과 영향 범위가 달라집니다.
왜 환경 경계를 먼저 봐야 하나
- “로컬에서는 되는데 배포 번들에서는 안 된다”의 원인은 거의 API 가용성보다 실행 경계에 있습니다.
- 문법이 맞아도 환경이 지원하지 않는 기능이 있으면 동작이 멈추고, 지원되더라도 실패 모양은 다르게 나타납니다.
- 환경 경계를 모르면 이슈의 위치(렌더링 경로인지, 서버 처리 경로인지)를 놓치기 쉽습니다.
브라우저와 Node: 한 번에 보는 차이
- 브라우저는 화면 출력이 최우선입니다. 렌더링 경로의 지연이 곧 체감 지연으로 연결됩니다.
- Node는 요청 처리와 응답 생성이 최우선입니다. 지연은 주로 처리 큐 적체와 리소스 사용량으로 보입니다.
- 이벤트 루프 형태는 비슷해도, side effect의 의미는 환경마다 다릅니다.
실무 적용 포인트
- 브라우저 번들이면 렌더링 연쇄를 우선 점검하고, Node 번들이면 요청 처리 연쇄를 우선 점검합니다.
- 환경별 출력 지점(브라우저/서버)을 먼저 분리한 뒤 같은 로직을 재사용해야 오해가 줄어듭니다.
- 같은 이름의 코드라도
실행 경계를 다르게 읽으면 장애 전파 경로가 바뀝니다.