Javascript

ECMAScript란?

  • -
728x90

Javascript를 접하게되면 자연스래 ES5, ES6 ... 등의 단어를 들어볼 수 있다. 그냥 자바스크립트의 버전이겠거니하고 넘겼었는데 좀 더 자세히 알아보자.

 

ECMAScript란?

ECMA International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다.

ECMAScript는 스크립트 언어가 준수해야 하는 규칙, 세부 사항 및 지침을 제공한다. ECMAScript는 문서로 작성되어 있으며, 이 곳에서 자세히 알 수 있다.

 

ECMA-262 - Ecma International

ECMAScript® 2020 language specification, 11th edition - ECMAScript is a programming language based on several technologies like JavaScript and JScript.

www.ecma-international.org

Javascript는 ECMAScript 사양을 준수하는 범용 스크림팅 언어이다. ECMAScript 문서를 보면, 어떻게 스크립트 언어를 쓸 수 있는지 알 수 있다.

 

Javascript 엔진은 Javascript 코드를 이해하고 실행하는 프로그램 또는 인터프리터이다. 일반적으로 대부분의 웹 브라우저에서 찾아 볼 수 있다.

Javascript 엔진에는 여러 종류가 있는데, 예를 들면 Google Chrome의 V8, Mozilla Firefox의 SpiderMonkey, Microsoft Edge의 Chakra 등이 있다.

 

이 엔진들은 몇 가지 특징이 있다.

 

  • Performance(수행능력) 차이
    • 각 엔진마다 Javascript를 얼마나 효율적으로 처리하고 있는가에 따라 다르기 때문
  • 지원되는 ECMAScript가 다름
    • Javascript 엔진을 담당하는 회사나 조직의 업데이트에 따라 다르다

 

몇 가지 버전별 특징을 알아보자.

 

ES1 ~ 3 (1999)

Javascript의 가장 기본이 되는 기능만 존재하는 버전, hoisting, prototype, scope 등

 

ES5 (2009)

  • 배열에 forEach, map, filter, reduce, some, every와 같은 메소드 지원
  • Object에 대한 getter / setter 지원
  • Javascript strict 모드 지원
  • JSON 지원 (과거에는 XML을 사용)

ES6 (ES 2015)

  • let, const 키워드 추가
    • 기존의 변수는 함수 scope를 가진 var를 이용하여 선언, 기존에는 상수형 키워드가 없어 이를 구분하기위해 let, const 키워드 추가
  • arrow 문법 지원
    • 익숙해지면 편하고 간결해진 코드 작성가능
    • this를 바인딩하지 않음, 선언된 scope의 this를 가리킨다.
  • iterator / generator 추가
  • module import / export 추가
  • Promise 도입

ES7 (ES 2016)

  • "**" 제곱 연산자 제공
  • Array.includes : 배열에 해당 요소가 존재하는지 확인하는 메소드 제공

ES8 (ES 2017)

  • async / await 제공

 

 

 

https://www.greycampus.com/blog/programming/java-script-versions

https://www.w3schools.com/js/js_es5.asp

https://wormwlrm.github.io/2018/10/03/What-is-the-difference-between-javascript-and-ecmascript.html

https://en.wikipedia.org/wiki/ECMAScript

https://ko.wikipedia.org/wiki/ECMA%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8

728x90
300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.