몇 가지 정의를 보자.
런타임에 컴파일
되는 동적 약형 프로그래밍 언어이다. 자바스크립트는 브라우저에서 웹페이지의 일부로 실행될 수도 있고 호스트 환경이라 불리는 모든 기기에서 직접 실행될 수도 있다.=> 동적 해석형(Dynamic, interpreted Language)이란 미리 컴파일되지 않았음을 의미한다. C++, C와 같은 언어는 개발 중/개발 후에 컴파일된다. 즉, 개발자가 최종적으로 접하기 전에 컴파일된다.
하지만 자바스크립트는 전송 중 컴파일된다. 즉, 코드가 런타임에 평가되고 실행된다. 코드가 런타임에 변경될 수 있음을 의미한다.
정수형 변수를 할당한 변수에 문자열을 재할당한다던지... 등의 작업을 수행할 수 있다. 이는 다른 언어에서는 할 수 없는 작업이다.
사실 자바스크립트는 변수를 선언할 때 let이나 var 등을 쓰기 때문에 변수형이라는게 딱히 없긴 하다. 하지만 이는 단점이 될 수도 있다. 이는 TypeScript의 등장으로 보완된다.
그렇다면 자바스크립트의 목적인 웹페이지는 어떻게 작동할까?
우리는 웹페이지를 이용할 때 브라우저를 사용한다.
브라우저가 설치된 클라이언트(컴퓨터, 노트북 등의 기기)를 사용해 URL을 입력하는 등의 방식을 이용해 웹페이지를 로드한다.
이것이 일반적으로 웹페이지가 동작하는 방식이다.
자바스크립트는 이 과정을 보다 동적으로 만들어준다.