JavaScript는 일급 함수를 사용하는 객체지향 인터프리터 언어이다.
일급 함수
JavaScript는 함수를 다른 변수와 동일하게 다루는 일급 함수를 가진 언어이다. 함수를 다른 함수에 인수로 제공하고, 함수가 함수를 반환할 수 있으며, 함수를 변수에도 할당할 수 있다.
다중 패러다임 프로그래밍 언어
다중 패러다임 프로그래밍 언어는 하나 이상의 프로그래밍 패러다임을 지원하는 언어이다.
JavaScript는 프로토타입 기반의 객체지향 프로그래밍과 함수형 프로그래밍을 지원한다.
[Medium] What Are JavaScript Programming Paradigms?
동적인 클라이언트 사이드 스크립트 언어
JavaScript는 정적인 페이지를 구현하는 것 뿐만 아니라 시간에 따라 업데이트 되는 콘텐츠, 동적인 지도, 2D/3D 그래픽, 비디오/오디오 등 다양한 동적 기능을 지원한다.
프로토타입 기반
ECMAScript 6에서 새롭게 클래스가 도입되었는데, ES6의 Class가 새로운 객체지향 모델을 제공하는 것이 아니며 Class도 사실 함수이고 기존 prototype 기반 패턴의 Syntactic sugar이다.