SONG's 개발새발

Javascript 특징

2019-04-08

Javascript

1. Javascript 기능

1. 웹 브라우저 제어
  1. window 인터페이스 제어
  2. DOM 제어
  3. 서버와 비동기통신 제어(XMLHttpRequest)
  4. 이벤트 처리
2. 웹 서버 제어
  1. Node.js : 자바스크립트 실행 환경

2. Javascript 특징

1. 인터프리터 언어이다.

  1. 인터프리터 언어 : 소스코드를 한 줄씩 기계어로 번역해서 실행하는 프로그래밍 언어 ( Ruby, Python 등 ..)

    • 장점 : 프로그램을 바로 실행하고 동작을 확인 할 수 있다.
    • 단점 : 프로그램 실행시 컴파일 언어보다 느리다.
      => JIT 컴파일러로 실행 속도가 향상 되어짐!!!
  2. 컴파일 언어 : 기계어로 번역 후 실행하는 프로그래밍 언어 (C, C++, Java 등..)

    • 장점 : 실행 속도가 빠르다.
    • 단점 : 컴파일 속도가 느리다.

2. 프로토타입기반 객체 지향 언어이다.

  1. 프로토타입을 상속하는 프로토 타입 기반 객체 지향 언어
  2. 객체 생성 후에도 프로퍼티, 메서드를 동적으로 추가, 삭제 가능
    1. 절차 지향 언어 : 순서대로 데이터 처리
    2. 객체 지향 언어 : 객체 단위로 데이터 처리
    3. 함수형 언어 : 함수를 조합하여 구현

#### 3. 동적 타입 언어이다. 1. 변수 타입이 없다. 2. 변수 할당 과정에서 데이터 타입이 결정된다. - 자바스크립트에서 변수 타입은 동적으로 바뀔 수 있다.

4. 일급객체 함수이다.

  1. 자바스크립트 함수는 객체이다.
  2. 함수에 다른 함수를 인수로 넘길 수 있다 -> 고차 함수 구현 가능

5. 함수가 클로져를 정의한다.

  • 함수가 입력될 때! SCOPE(범위)가 지정된다.