자바스크립트 런타임 환경: 브라우저와 Node.js 비교
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

자바스크립트 런타임 환경 소개

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발, 앱 개발

대상자

  • 중급 이상의 자바스크립트 개발자
  • 프론트엔드와 백엔드 개발을 동시에 이해하고자 하는 개발자
  • 런타임 환경의 차이를 실무에 적용하고자 하는 사람들

핵심 요약

  • 자바스크립트는 두 가지 주요 런타임 환경에서 실행 가능:

- 브라우저 환경 (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에서 사용 가능
  • 개발자는 앱의 목적에 따라 적절한 런타임 환경을 선택하여 개발해야 함