본 시리즈는 모던 자바스크립트 Deep Dive 책을 참고하여 작성하고 있습니다.
특징
- HTML, CSS와 함께 웹을 구성하는 요소 중 하나
- 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
- 인터프리터 언어 ⇒ 개발자가 별도 컴파일 작업을 거치지 않음
- 비교) C언어는 소스 파일 작성 후에 그 파일을 컴파일하여 실행 파일(.exe)로 만들어 사용함 반면, 자바스크립트는 웹 브라우저에 내장된 자바스크립트 인터프리터가 소스 코드를 직접 해석해 바로 실행함
- 동적이고 타입을 명시할 필요가 없음
- 멀티 패러다임 프로그래밍 언어 (명령형 + 함수형 + 프로토타입 기반 객체지향)
자바와 자바스크립트
⇒ 둘은 전혀 다릅니다!
기준 | 자바 | 자바스크립트 |
컴파일 언어 | 인터프리터 언어 | |
실행 환경 | JVM | 웹 브라우저 |
타입 검사 | 엄격, 타입 선언 필수 | 검사하지 않음, 타입 선언하지 않음 |
패러다임 | 클래스 기반 객체지향 | 멀티 패러다임 + 프로토타입 기반 객체지향 |
자바스크립트로 할 수 있는 것
- 웹 프로그래밍
- 서버 프로그래밍 (Node.js)
- 하이브리드 모바일 앱 (React Native) ⇒ Facebook, Instagram, Discord
- 데스크톱 애플리케이션 (Electron) ⇒ VSCode, Twitch
- 머신러닝 (TensorFlow.js)