컴퓨터 언어중 하나로써, 브라우저상에서 HTML + CSS를 통해서 페이지를 꾸미고 Javascript로 행동(Behavior)을 명령할 수 있게 해준다.
Javascript 언어는 1995년에 만들어졌다.
또한, node.js 프레임워크의 탄생으로 컴퓨터 내에서도 javascript 언어를 사용할 수 있게 되었다.
자바스크립트 동작을 위해서 Javascript Engine 필요
인터프리터가 Javascript를 런타임시 한줄씩 읽어가면서 실행
자바스크립트는 컴파일링 언어가 아니라 인터프리터로 실행을 먼저한 후 한줄 씩 읽어냄
자바는 컴파일링 언어 → 컴파일링 먼저한 후 실행파일을 읽음, 그렇기에 컴파일링 과정에 시간이 걸리지만 그 이후 실행속도는 굉장히 빨라진다
각 브라우저마다 각기 다른 엔진을 보유
Browser Edge | Chrome | Safari | FireFox |
---|---|---|---|
V8 | V8 | Javascript Core | SpiderMonkey |
각 브라우저별로 다른 엔진에서 Javascript를 사용하기위해 공통된 문법 규격 표준사항을 만든것이 ECMAScript
ES 버전별로 새로운 문법, 개선사항들이 추가되고 브라우저 엔진별로 기능을 호환하기도하고 안하기도 함
가장 많은 대격변을 일으킨 문법 호환 시기는 ECMASCript 6 → class, for…of 등 있음
브라우저별로 호환 가능한 문법 확인하는 사이트: https://kangax.github.io/compat-table/es5/
JS is a lightweight, interpreted, or just-in-time compiled language with first-class functions. (1급 객체 함수 언어)
JS is a prototype-based, multi-paradignm, single-threaded, dynamic language.
자바스크립트는 본래 브라우저상에서만 사용할 수 있는 언어로 많이 알려졌었는데, 이제는 자바스크립트 엔진이 있는 어느곳이든 (Node.js, Apache DB, Acrobat) 다 사용 가능함.
자바스크립트 - 프로그래밍 언어 (정해진 문법으로 특정한 로직을 수행하도록하도록 프로그래밍)
자바스크립트 혼자서는 프로그래밍을 할 수 없다. (외부 환경 라이브러리 필수)
Node API, Web API
자바스크립트 자체 = 문법임 ( 문법외에 필요한 요소들이 많다)