"런타임에 컴파일 되는" 동적 약형 프로그래밍 언어
브라우저 웹페이지의 일부로 실행 되거나 호스트 환경 모든머신에 직접 실행된다.
웹페이지를 보다 동적이게 만들기 위해 탄생함
페이지 내용을 직접 변경하기 위해 만들어짐
최초엔 Livescript로 불리었으나 당시 Java의 인기로 인해 Java와의 유사성을 꾀하기 위해 Javascript 로 이름이 변경됨(그러나 Java와는 별개의 프로그래밍 언어임)
Javascript의 코드 실행은
코드를 가져오고 -> 컴파일하고 -> 최적화하고 -> 실행하는 내장도구(엔진) 이 있고,
이 모든 작업은 "운영체제의 단일 스레드"에서 발생함
미리 컴파일 되지 않았음.
전송 중 컴파일링 되기때문에 코드가 런타임에 평가되고 실행됨
예를들어 변수의 데이터를 변경 가능하다.
데이터의 유형을 미리 선언하지 않아도 됨
데이터 유형을 가정해 자동으로 유추함
이는 데이터 유형이 코드 한줄마다 변경될 수도 있다는 동적 특성과도 관련이 있음