자바스크립트 언어의 특징

YangJiWon·2020년 8월 16일
0

모던 자바스크립트 입문 책을 정리한 내용입니다.

컴파일 언어와 인터프리터 언어

컴파일 언어

  • 컴파일 : 소스 코드를 실행하기에 앞서 기계어로 번역하는 행위
  • 컴파일러 : 컴파일을 수행하는 소프트웨어
  • 컴파일 언어 : 소스 코드 여러 개를 묶어서 컴파일 한 후에 실행되는 프로그래밍 언어. C, Java, Objective C 등이 있습니다.
  • 특징 : 컴파일 하는 데 시간이 걸리지만 실행되는 속도가 빠릅니다.

인터프리터 언어

  • 인터프리터 언어 : 프로그램을 한 줄마다 기계어로 번역해서 실행하는 프로그래밍 언어. LISP, Perl, Ruby, Python 등이 있습니다.
  • 인터프리터 : 프로그램을 번역해서 실행시키는 소프트웨어
  • 특징 : 프로그램을 바로 실행할 수 있고 동작을 확인해 가면서 프로그램을 개발할 수 있다는 장점이 있지만, 프로그램 코드를 한 줄 한 줄 기계어로 번역하면서 실행하기 때문에 컴파일 언어보다 처리 속도가 느리다는 단점이 있습니다.

프로그래밍 언어의 유형

  1. 절차적 언어 : 절차를 순서대로 작성해 나가는 언어
  2. 객체 지향 언어 : 처리와 관련된 데이터와 절차를 하나로 묶어 객체 단위로 관리하는 언어
  3. 함수형 언어 : 프로그램을 함수를 조합하여 구현해 나가는 언어
  4. 논리형 언어 : 데이터 사이의 관계와 논리를 설명해 나가는 언어

자바스크립트의 특징

1. 인터프리터 언어

  • 실행 속도가 느릴 것 같지만 최근 웹 브라우저 대부분에는 실행 시간에 자바스크립트 코드를 컴파일하는 JIT 컴파일러(Just In Time Compiler)가 내장 되어 있어 실행 속도가 매우 빨라졌습니다.

2. 동적 프로토타입 기반 객체 지향 언어

  • 클래스 기반 객체 지향 언어입니다.
  • 자바스크립트는 클래스가 아닌 프로토타입을 상속하는 프로토타입 기반 객체 지향 언어입니다.
  • 객체를 생성한 후에도 프로퍼티와 메서드를 도엊ㄱ으로 추가하거나 삭제할 수도 있습니다.

3. 동적 타입 언어

  • 자바스크립트는 변수 타입이 없습니다. 따라서 프로그램을 실행하는 도중에 변수에 저장되는 데이터 타입이 동적으로 바뀔 수 있습니다.

4. 함수가 일급 객체

  • JS의 함수는 객체이며, 함수에 함수를 인수로 넘길 수 있습니다.
  • 위의 내용이 JS의 함수가 일급(First class object)인 이유입니다.
  • 이 특성을 활용해 고차 함수를 구현할 수 있어 함수형 프로그래밍이 가능합니다.

5. 함수가 클로저를 정의

profile
데이터데이터데이터!!

1개의 댓글

comment-user-thumbnail
2022년 7월 19일

잘봤습니다:)

답글 달기