[JavaScript] 여러 환경에서의 자바스크립트

조은·2022년 8월 2일
0

자바스크립트는 호스트 환경에서 실행된다.
즉, 자바스크립트 엔진이 일부가 될 수 있고, 다른 환경에서 실행될 수도 있음을 의미한다.


브라우저에서의 자바스크립트

  • 자바스크립트는 웹페이지를 동적으로 만들고 새 페이지를 로드하지 않고도 웹페이지의 내용을 변경할 수 있도록 브라우저에서 실행하게끔 개발되었다.

  • 자바스크립트는 로드된 HTML/CSS 코드에 접근할 수 있기 때문에 백그라운드 HTTP 요청을 보낼 수 있다.
    => 페이지를 Reload하지 않고 뒤에서 요청을 보내고 데이터를 가져오는 등의 동작이 가능하다.

  • 하지만 보안상의 이유로 로컬 파일 시스템에 접근할 수 없다.
    => 방문하는 수많은 웹페이지가 클라이언트 각각의 파일 시스템을 읽을 수 있기 때문이다. 또한 같은 이유로 OS와 상호 작용할 수 없다.

브라우저가 아닌 환경에서의 자바스크립트

그 유명한 V8엔진 은 어디에서나 자바스크립트를 실행할 수 있도록 개발되었다.
모든 브라우저에 엔진이 있다면 엔진은 브라우저에서 떼어내 독립적인 도구로 만들어, 다른 곳에서 자바스크립트를 실행할 수 있다. 라는 생각에서 착안됐다.

=> 이렇게 해서 만들어진 도구가 Node.js 이다.

Node.js는 어느 컴퓨터에서나 실행될 수 있고 웹 서버나 백엔드를 구축하는데 사용된다. (Server-Side-JavaScript)

Node.js에서의 자바스크립트는 사용자의 브라우저(클라이언트)에서가 아닌 서버측에서 실행되는 것이다.

  • Node.js는 컴퓨터에서 바로 실행되기 때문에 로컬 파일 시스템으로의 접근과 파일 작성 등의 작업이 가능하다.

  • 브라우저에서의 자바스크립트와는 다르게 웹페이지에 접속한다고 실행되는 것이 아니라, 사용자가 직접 실행해야함을 의미한다.

  • 실행되고 있는 머신 내의 파일 시스템에만 접근 가능하다. (사용자의 컴퓨터가 아닌, 실행 중인 서버)

  • OS와도 상호 작용할 수 있다. 하지만 로드된 웹페이지에 직접 접근할 수 없기 때문에 HTML이나 CSS를 조작할 수는 없다.




이처럼 자바스크립트는 어떤 환경에서 실행되느냐에 따라 수행가능한 작업이 달라진다.

profile
끄적끄적....

0개의 댓글