JavaScript 를 시작하면서, 책 앞부분에서 나타난 자바스크립트의 특징에 대해서 간단하게 기록해보겠습니다.
ㅁ 자바스크립트 언어적 특징
# 인터프리터 언어
우선 기본적으로 자바스크립트는 인터프리터 기반의 언어입니다.
* 인터프리터에 대한 내용은 아래를 참고하시면 됩니다.
( 차후 인터프리터와 컴파일러 포스팅 )
인터프리터 언어이지만, 최근 웹 브라우저에는 주로 실행 시간에 JS 코드를 컴파일하는 JIT(Just In Time Compiler) 가
내장되어 있어, 실행속도가 향상되었습니다.
# 동적 프로토타입
자바스크립트도 객체 지향 프로그래밍이 가능한 언어입니다. 하지만, Java 등과 같이 클래스를 기반으로 하지않고
프로토타입(prototype) 을 기반으로 하는 객체지향 언어입니다.
이 프로토타입은 객체를 생성 후에도 동적으로 프로퍼티나 메소드를 추가할 수 있는 동적 구조를 가지고 있습니다.
# 동적 타입
Java 등과 같이 일정한 타입이 정해져 있지 않고, 상황에 따라 변수에 담는 데이터의 타입이 동적으로 변경될 수
있습니다. ex) var
# 함수가 객체
자바스크립트는 함수가 객체입니다. 따라서 이를 또 다른 함수에 인수로도 넘길 수 있습니다.
* 자바스크립트에서는 이를 일급 객체(Frist class object) 라고 한다고 합니다.
# 함수가 클로저 ( ★★★★★ )
자바스크립트의 함수는 클로저(Closure) 개념을 적용할 수 있습니다.
( 이거 어렵더라고요........................... )
( 차후 포스팅 참고 )
ㅁ 자바스크립트의 기술
자바스크립트 초창기에는 단순히 웹 브라우저를 위한 스크립트 언어로 인식되었습니다.
하지만, 점차 웹 브라우저의 성능이 항샹되고 다양한 기능들이 업데이트되면서 클라이언트 부분을 넘어 서버적인 측면
에서도 사용하는 언어로 발전하였습니다.
# 클라이언트
클라이언트 부분에서의 기술은 웹 브라우저에서 동작하는 자바스크립트 기술을 의미합니다.
HTML5 API 와 웹 브라우저의 API 등에 대한 기술입니다.
- Window Interface
- DOM
- XMLHttpRequest
# 서버
웹 서버 구현에 사용하는 자바스크립트 기술입니다. 가장 대표적으로는 Node.js 라는 구글에서 개발한 자바스크립트
실행 환경이 있습니다.
ㅁ ECMAScript 6
ECMAScript 6 (ECMAScript 2015) 는 2015년도에 나온 ECMAScript 버전을 의미합니다.
ECMAScript는 자바스크립트 코어에 규정되어 있는 핵심기술을 의미합니다.
ECMAScript 6 는 다양한 자바스크립트 기능들이 추가되어 프로그래밍에 있어 효율성이 높아졌습니다.
( 차후 기능 포스팅)
'STUDY > Js' 카테고리의 다른 글
[Js] 객체 (Object ) (0) | 2019.11.24 |
---|---|
[Js] 함수(Function) (0) | 2019.11.24 |
[Js] 타입변환 (0) | 2019.11.17 |
[Js] typeof & instanceof (0) | 2019.11.17 |
[Js] 동적 타입 언어 (0) | 2019.11.17 |