JavaScript | ECMA intro

황인용·2019년 11월 26일
1

JavaScript

목록 보기
1/4

자바스크립트(JavaScript)

javascript image
자바스크립트(JavaScript)는 넷스케이프(Netscape)의 Brendan Eich에 의해서 개발된 웹(Web)언어이다.
초반 Mocha라는 이름으로 시작해서 LiveScript에서 JavaScript라는 이름을 사용하게 되었다.
1995년 썬 마이크로시스템(Sun MircroSystem)과 넷스케이프 브라우저 2.0이 발표되었다. 그 이후 많은 다른 웹브라우저들 또한 JavaScript 언어를 탑재하기 시작해서 지금까지 가장 많이 사용하는 웹개발 언어가 되었다.

초기 자바스크립트는 웹브라우저 클라이언트(Client)에서 데이터 유효성 검사등을 담당하는 스크립트언어에 불과했지만, 시간이 지나고 발전함에 따라 컨텐츠의 거의 모든 부분의 상호작용을 하며, 클로저(Cloure)나 익명함수 및 메타프로그래밍(Meta Programming)까지 처리하며 복잡한 계산과 상호작용을 하는 완전한 프로그래밍 언어가 되었다. 또한 JQuery의 등장으로 DOM(Document Object Model)을 핸들링 할 수 있으며, Node.js의 등장으로 인해 자바스크립트를 이용한 서버개발 즉, Back-end개발까지 가능하게 되었다.


ECMA(European Computer Manufacturers Association)Script

ECMA image
ECMA((European Computer Manufacturers Association)script는 ES라는 약어로 사용되며ㅡ 정보 통신 시스템의 표준화하는 조직 ECMA International에서 ECMA-262를 표준화한 범용 스크립팅 언어 상표이다.
1995년 넷스케이프에서 자바스크립트를 발표하고 1996년 넷스케이프에서 Netscape Navigator2.0 브라우저를 출시하면서 자바스크립트를 지원하기 시작했다. 이에 1996년 8월 Microsoft에서도 익스플로러3.0 브라우저에 JScript를 지원하기 시작했다. 이후 넷스케이프에서는 Javascript언어를 기술 표준화를 위해 ECMA Internationa에 제출하였고 바로 ECMA-262라는 이름으로 시작하여 1997년 6월 ECMA총회에서 채택되어 ECMA Script이라고 새로운 표준이 탄생하게 되었다.
이후 버전이 업데이트 될 때마다 ES뒤에 숫자를 붙여 릴리즈를 공개하였다.

version release

  • ES1 : 1997년 6월(초판)

  • ES2 : 1998년 6월

  • ES3 : 1999년 12월

  • ES4 : 언어에 얽힌 정치적 차이로 인해여 버러짐

  • ES5 : 2009년 12월
    - stric mode
    - JSON parsing/serialization support

    • Array
      - array.map(), array.forEach() 같은 literation Methods 지원
    • Object
      - 객체의 프로퍼티 추가 여부(Extensibility toggle)
      - 객체 Writable/Eumerable/Configurable
      - Object.keys(obj), object,freeze 등 객체 표준 메소드 지원
  • ES6(ES2015) : 2015년 6월
    - const / let 상수 변수 예약어

    • 블록 단위 스코프(Scope)
    • Arrow Functions, Lexical this
    • default parameter value support
    • template literals ('$[ ]')
    • Destructuring Assignment
    • Export/Import 모듈화
    • 클래스(Class)
    • Symbole Type(primitive type support)
    • 프로미스
    • 제너레이터
    • Proxy Object
  • ES2016, ES2017, ES2018 and so on..

profile
dev_pang의 pang.log

0개의 댓글