본문 바로가기
STUDY/Js

[Js] JavaScript 특징

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