박서희연구소

[JavaScript] JavaScript 란 무엇인가? 본문

○ Programming [Basic]/JavaScript

[JavaScript] JavaScript 란 무엇인가?

SEOHUI PARK 2019. 5. 23. 12:23
반응형

개요

페이지의 내용을 정적으로만 보여주기만 한다면, 사용자와 좋은 인터랙션을 하는 것이 어렵다.

JavaScript 는 웹 페이지에서 복잡한 기능을 구현하는 것에 도움을 주는 스크립팅 언어로 다이나믹한 화면과 주기적인 갱신, 애니메이션이 적용된 그래픽 등의 개발하는 것에 도움을 준다.

 

할 수 있는 일

  • 변수를 이용한 값 저장 가능
  • 웹 페이지에서 발생하는 이벤트에 코드가 응답하도록 할 수 있음
  • API 사용 가능

API 는 Browser API 와 Third party API 가 있다.

Browser API 는 브라우저에 내장되어 있으며, 유용하고 복잡한 작업을 수행할 수 있다.

Browser API 활용 예 :

  • DOM(Documnet Object Model) API 를 사용하면 CSS 조작 및 HTML 생성, 변경, 제거하는 등의 동적인 작업을 수행할 수 있음
  • Geolocation API 는 지리 정보를 검색하며, 이 정보를 통해 Google 지도가 사용자의 위치를 찾아 지도에 표시함
  • Canvas 및 WebGL API 를 사용하여 2D 및 3D 그래픽 애니메이션을 생성할 수 있다.
  • HTMLMediaElement 및 WebRTC 와 같은 API 를 사용하면, 웹 페이지에서 오디오 및 비디오를 재생하거나 웹 카메라에서 비디오 정보를 가져와 다른 사람의 컴퓨터에 표시하는 등 다양한 멀티미디어 작업이 가능

Third party API 는 브라우저에 내장되어 있지 않기에 웹의 어딘가에서 해당 코드 및 정보를 가져와서 사용해야 한다.

Third party API 활용 예 :

  • Twitter API 를 사용하면 웹 사이트에 최신 트윗을 표시할 수 있음
  • Google Maps API 및 OpenStreetMap API 를 사용하면, 맞춤 지도를 웹 사이트에 삽입할 수 있음

웹 페이지에서 JavaScript 가 하는 일 

브라우저에서 웹 페이지를 로드하면, 실행 환경(브라우저 탭) 내에서 HTML, CSS, JavaScript 가 실행된다.

JavaScript 의 일반적인 사용 예는 DOM API 를 사용해 HTML 및 CSS 를 동적으로 수정하여, 사용자 인터페이스를 업데이트하는 것이다.

웹 문서의 일반적인 로드는 순서대로 실행되므로, HTML 및 CSS 보다 먼저 JavaScript 를 실행하면 오류가 발생할 수 있다.

 

브라우저 보안

각 브라우저 탭에는 코드를 실행하기 위한 독립적인 버킷(실행 환경)이 있다.

여기서 독립적이라는 의미는 대부분의 탭이 서로에게서 완전히 분리되어 한 탭의 코드가 다른 탭의 코드, 또는 다른 사이트에 직접적으로 영향을 줄 수 없다는 의미이다. 만약 이런 제약이 없다면, 해커들이 다른 웹 사이트에서 정보를 훔치거나 위협적인 코드를 작성할 것이다.

 

인터프리터와 컴파일러

인터프리터를 사용하는 언어

  • 코드를 위에서 아래로 실행
  • 코드 구동 결과는 즉시 반환
  • 코드는 프로그래머가 읽을 수 있는 형태로 입력
  • 별도의 처리 없이 그대로 실행

컴파일러를 사용하는 언어

  • C/C++ 코드를 컴파일러를 통해 기계어로변환해, 그 결과를 컴퓨터가 실행
  • 프로그램은 프로그램의 원본 소스 코드에서 생성한 이진 형식(Binary)으로 부터 실행

JavaScript 는 가벼우면서, 인터프리터를 사용하는 언어로, 웹 브라우저는 JavaScript 코드를 원문 텍스트 형태로 입력받아 실행한다.

JIT 컴파일(just-in-time 컴파일) 이라는 기술로 성능을 향상하는 방법도 있지만, 여전히 인터프리터 언어로 분류되는데, 컴파일을 먼저 해놓는 방식이 아닌, 런타임에 일어나기 때문이다.

 

- 끝 -

반응형
Comments