자바스크립트 런타임 환경 소개
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발, 앱 개발
대상자
- 중급 이상의 자바스크립트 개발자
- 프론트엔드와 백엔드 개발을 동시에 이해하고자 하는 개발자
- 런타임 환경의 차이를 실무에 적용하고자 하는 사람들
핵심 요약
- 자바스크립트는 두 가지 주요 런타임 환경에서 실행 가능:
- 브라우저 환경 (window
객체 제공)
- Node.js 환경 (process.env
와 서버 자원 접근)
- 프론트엔드 앱은
window
객체를 사용해 브라우저 기능 제어 - 백엔드 앱은
process.env.PWD
와 같은 Node.js 전용 기능으로 서버 자원 조작
섹션별 세부 요약
1. 런타임 환경의 정의 및 목적
- 런타임 환경은 프로그램이 실행되는 환경으로, 사용 가능한 전역 객체와 실행 방식을 결정
- 자바스크립트는
브라우저
와Node.js
두 환경에서 실행 가능 - 브라우저는
window
객체를 제공하고, Node.js는 서버 자원 접근 기능 제공
2. 브라우저 환경의 예시
window.alert()
과 같은 브라우저 전용 메서드를 통해 사용자 인터페이스 제어window.prompt()
또는window.confirm()
을 사용해 사용자 입력 수집 가능- 브라우저 환경에서는
window
객체를 통해 브라우저 창의 다양한 기능 접근 가능
3. Node.js 환경의 예시
process.env.PWD
를 통해 서버의 현재 작업 디렉터리 확인node my-app.js
명령어로 Node.js 환경에서 스크립트 실행Node REPL
을 통해 실시간으로 환경 변수 확인 가능 (예:process.env.HOME
)
4. 프론트엔드 vs. 백엔드 런타임 환경 비교
- 프론트엔드:
window
객체 제공, 브라우저 기능 제어 - 백엔드:
process.env
제공, 서버 파일 시스템, 데이터베이스, 네트워크 접근 가능 - Node.js는 자바스크립트로 전체 스택 앱 개발 가능
결론
- 프론트엔드 앱은
window
객체를, 백엔드 앱은process.env
를 사용해 각 환경의 기능을 활용해야 함 - 예:
window.alert()
는 브라우저에서,process.env.PWD
는 Node.js에서 사용 가능 - 개발자는 앱의 목적에 따라 적절한 런타임 환경을 선택하여 개발해야 함