What is JavaScript?
JavaScript는 웹 프로그래밍 언어로서 브라우저의 동적 부분을 조작하기 위해 만들어졌습니다.
1995년 넷스케이프 커뮤니케이션즈의 Brendan Eich가 개발하였으며, 처음부터 JavaScript라고 명명하지 않았습니다.
`Mocha` -> `Liva Script` -> `JavaScript` 순으로 바뀌면서 개발되었습니다.
JavaScript는 크로스 플랫폼(cross-platform), 객체지향 언어(OOP)입니다.
- 크로스 플랫폼(cross-platform): 여러 종류의 컴퓨터 플랫폼에서 동작할 수 있는 것.
- 객체지향(OOP: Object Oriented programming): 실제 세계에 기반한 모델을 만들기 위해 추상화한 것. 여러 개의 객체 단위로 나눠 작업.
기본 JavaScript는 Array, Date, Math 등 기본이 되는 객체들(Core Set of Object)과 연산자, 제어 구조, 문장 등, 언어의 기본 요소들(Core Set of Language Elements)을 포함하고 있습니다.
JavaScript 특징
1) JavaScript는 웹을 구성하는 요소 중 하나.
2) JavaScript는 Prototype 기반의 객체지향적 언어.
-> 재 이용성과 유지보수성이 편함.
3) Script 언어.
-> Script 언어란 간편한 코딩을 목적으로 만들어진 프로그래밍 언어를 말합니다.
4) 인터프리터 언어(Interpreter Language).
--> 별도의 컴파일 작업 수행 X.
프로그램을 처음부터 일일이 해석해 컴퓨터가 이해할 수 있는 형식으로 번역해서 실행합니다.
컴파일 언어에 비하여 동작이 느리다는 문제점이 있지만,
컴파일과 같은 특별한 절차가 없다라는 장점이 있습니다.
코드를 작성하여 바로 그 자리에서 손쉽게 실행할 수 있다는 점이 인터프리터 언어의 매력입니다.
5) 몇 개의 부분 분류.
--> 1. JavaScript Core
: 환경에 의존하지 않은 JavaScript로 언어로서의 표준적인 기능을 제공.
2. BOM(Browser Object Model)
: 브라우저 상에서의 조작을 JavaScript로부터 실행하기 위한 기능.
3. DOM(Document Object Model)
: 도큐먼트를 동적으로 조작할 수 있음.
4. XMLRequest
: Ajax의 핵심적인 주요 기능.
ECMAScript?? JavaScript?? 는 무엇이죠?
ECMAScript는 Ecma International에 의해 제정된 Ecma-262 기술 규격에 의해 정의된 범용 스크립트 언어입니다.
쉽게 말해 자바스크립트의 표준화된 버전이며, JavaScript는 ECMAScript 사양을 준수하는 범용 스크립팅 언어입니다.
프로그래밍 언어의 타입, 값, 객체와 프로퍼티, 함수, 빌트인 객체 등 핵심 문법을 규정합니다. 각 브라우저 제조사는 ECMAScript를 준수하여 브라우저에 내장되는 자바스크립트 엔진을 구현합니다.
JavaScript는 웹 클라이언트만 지원하나요?
처음에는 웹 브라우저에서 클라이언트 측만 구현되었지만,, 이제는 JavaScript 엔진이 웹 서버 및 데이터베이스의 서버 측 등, 다양하게 JavaScript로 사용할 수 있습니다.
! 클라이언트 JavaScript
내장객체와 DOM(Document Object Model)을 제어할 수 있는 개체들을 제공함으로써 기본 언어를 확장.
ex) 클라이언트 쪽 확장 기능은 응용 프로그램이 HTML 폼에 요소를 두어, 사용자 이벤트에 반응.
(마우스 클릭이나 폼 입력, 페이지 이동 등)
! 서버 JavaScript
서버에서 JavaScritp를 실행하는데 연관되는 개체들을 제공함으로써 기본 언어를 확장.
ex) 서버 쪽 확장 기능은 응용 프로그램이 관계형 DB와 통신할 수 있게 하고 호출들 사이에 연속성 제공, 서버에서 파일 조작 수행.
Java !== JavaScript
JavaScript는 처음에는 다른 이름(Liva Script)이었습니다.
그러나 당시 Java가 많은 인기를 가지고 있었고 새로운 언어를 `Java의 동생`이라는 의미에서 JavaScript가 된 것입니다.
JavaScript와 Java 사이에 유사점이 있지만, 다른 언어입니다.
ex) Java와 JavaScript를 인도와 인도네시아의 관계에 비유해서 표현하기도 한다고 합니다.
JavaScript는 Prototype 기반의 객체지향이며, Java는 Class 기반의 객체지향입니다.
무엇보다 Java에서 쓰는 웹 기술은 서버 측 기술이며, JavaScript는 클라이언트 측 기술입니다.
그렇지만 요즘은 JavaScript로 서버까지 개발(NodeJS 이용)할 수 있습니다.
JAVA | JavaScript |
Java는 OOP(Object Oriented Programming) 프로그래밍의 대표적인 언어로 Class 기반의 객체지향 언어. | JavaScript는 객체지향이지만 Class 기반이 아닌 Prototype 기반의 객체지향 언어. |
변수 자료형이 반드시 선언되어야 하며, 컴파일 과정을 거친다. | 변수 자료형을 미리 선언하지 않아도 브라우저가 자동으로 파악하며, 인터프리터 언어로서 컴파일 과정을 거치지 않는다. |
참고 자료
- JavaScrip + jQuery 입문
- 인사이드 자바스크립트
- JavaScript 마스터북
- MDN