HTML, CSS와 함께 웹을 구성하는 요소 중 하나로
웹 브라우저에서 동작하는 유일한 프로그래밍 언어
이다.
일반적으로 프로그래밍 언어로서 ECMAScript
와 브라우저가 별도 지원하는 클라이언트 사이드 Web API
즉, DOM, BOM, fetch 등을 아우르는 개념이다.
명령형(imperative), 함수형(functional), 프로토타입 기반(prototype-based) 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어
이다.
프로토타입 기반의 객체지향 언어
이다.
하지만, 상속과 클래스라는 개념은 존재하지 않는다.
HTML 문서 내에 기술되고 HTML 문서와 함께 수행된다
HTML에 연산 제어 등 프로그래밍적인 요소를 추가하고 클라이언트의 자원을 활용할 수 있게 한다.
일반적으로 웹 페이지에 기능을 더해서 HTML 웹 페이지를 동적이고 살아있게 만드는 것이라고 볼 수 있다.
자바스크립트가 하는 구체적인 역할은 아래와 같다.👇
변수, 클래스 및 메소드를 선언하지 않아도 되고, 메소드가 'public', 'private' 또는 'protected'인지 구분하지 않아도 된다.
또한, 자바스크립트는 웹에 특화된 기술이기에 운영체제나 플랫폼에 상관없이 잘 작동된다
성능이나 보안이 떨어진다.
왜냐하면, 내부에서 제공되는 기능이 제한적이고, HTML 소스코드가 외부로 공개되기 때문이다.