https://developer.mozilla.org/ko/docs/Learn/JavaScript/First_steps/What_is_JavaScript

 

JavaScript가 뭔가요? - Web 개발 학습하기 | MDN

MDN의 JavaScript 초급자 과정에 오신 걸 환영합니다! 이 글은 JavaScript를 넓게 보면서 "뭔가요?", "뭘 하나요?"와 같은 질문을 답변하고, 여러분이 JavaScript에 친숙해지도록 도와드립니다.

developer.mozilla.org

위 사이트를 보고 개인적으로 정리하는 게시글입니다.

 

자바스크립트는 주기적으로 내용이 갱신되는 기능이나 능동적인 지도, 변화하는 2D/3D 그래픽, 동영상 등을 웹페이지에 적용할 수 있게 하는 스크립트 혹은 프로그래밍 언어입니다.

동적으로 컨텐츠를 바꾸고, 멀티미디어를 다루고, 움직이는 이미지 그리고 다른 일들을 할 수 있는 스크립트 언어이다.

 

Browser API는 웹 브라우저에 설치된 API들로, 컴퓨터 환경구성으로 부터 데이터를 보이게 하고 복잡한 일들을 하게 한다.

DOM (Document Object Model) API 는 동적으로 페이지의 스타일을 정하는 등 HTML과 CSS를 알맞게 조정하는 역할을 한다.

Geolocation API는 지리적인 정보를 검색하게 해준다. 

Canvas 와 WebGL API는 2D와 3D 그래픽을 만들 수 있도록 한다.

HTMLMediaElement와 WebRTC 같은 Audio and Video API는 음악과 비디오를 웹 페이지 상에서 재생하고, 웹캠으로 캡처하고 다른 컴퓨터에 표시하는 등의 멀티미디어를 활용할 수 있는 재미있는 기술을 지원한다.

 

Third party API 는 브라우저에 기본적으로 설치된 API가 아닌 인터넷에서 개인적으로 정보와 코드를 얻어 프로그래밍한 것을 말한다.

 

브라우저에서 웹페이지를 불러올 때, 실행 환경(브라우저 탭)안에서 HTML, CSS, Javascript 코드가 실행된다. 

자바스크립트는 HTML과 CSS가 결합되고 웹페이지 상에서 올려진 후, 브라우저의 자바스크립트 엔진에 의해 실행된다. 즉, 페이지의 구조와 스타일등을 정해놓고 자바스크립트가 실행된다는 의미.

 

브라우저에서 자바스크립트를 만났을 때 일반적으로 위에서 아래 순서대로 실행된다. (주의해서 코드를 작성해야 한다는 의미!)

 

해석형 언어와 컴파일러형 언어 ?

자바스크립트는 해석형 언어이다. 따라서 코드가 위에서 아래로 순차적으로 실행되고 그 즉시 결과가 반환된다. 브라우저에서 동작하기 전에 다른 방식으로 코드를 변환할 필요가 없다.

반면 컴파일러형 언어는 컴퓨터에 의해 동작되기 전 다른 형식으로 변환하는 언이이다. 예를 들면, C/C++과 같은 언어는 어셈블리어로 컴파일되어 동작된다.

 

서버측 코드와 클라이언트측 코드 ?

클라이언트측 코드란 사용자의 컴퓨터에서 작동되는 코드이다. 웹페이지를 보고자한다면, 클라이언트측 코드가 사용자의 컴퓨터로 다운로드되고 브라우저가 이를 표시한다. 이러한 자바스크립트 모듈을 정확히는 클라이언트측 자바스크립트라고 한다.

 

반면, 서버측 코드는 서버에서 작동되고 그 결과가 사용자의 브라우저에 넘어가 표시된다. PHP, Python, Ruby, ASP.NET등이 서버측 웹 언어의 대표적 예. 물론 자바스크립트도 Node.js란 환경을 통해서 서버측에서 자바스크립트가 사용 가능하다.

 

동적이라는 말은 클라이언트측 서버측 언어 모두를 가르킨다. 서버측 코드는 데이터베이스로부터 데이터를 던지는 등 동적으로 새로운 컨텐츠들을 만든다. 반면에, 클라이언트 측 자바스크립트는 새로운 HTML 표를 만들어 서버에서 요청한 데이터를 뿌려 사용자에게 보이는 등 동적으로 브라우저 안에서 작동된다. 

'정보 > Language' 카테고리의 다른 글

Kotlin : Hello, world!  (0) 2023.07.20
Enum을 사용한 메뉴관리  (0) 2022.08.26
java.util.HashMap  (0) 2022.07.29
BufferedReader / BufferedWriter 클래스 알아보기  (0) 2022.01.05
JavaScript : substr /substring 확실히 알아두기  (0) 2022.01.02

+ Recent posts