https://sanghaklee.tistory.com/54

Introduction

ECMAScript5는 2009.12에 나왔다. 지금은 2017년이고 ECMAScript8이 가장 최신 버전이다. 그럼에도, 아직 많은 JavaScript 문법은 ES5로 코딩되고 있다. ES6 이상으로 넘어가기 위한 몇 가지 걸림돌이 있다.

그럼에도 불구하고, ES6를 써야 하는 이유? 많은 이유가 있겠지만, 개인적으론…

“아름답지 않으면 살 의미가 없어” - 하울의 움직이는 성

아름다운 코드에 대한 열망

Node.js를 통해 JavaScript를 처음 제대로 배우고 사용했다.JavaScript의 복잡한 callback 구조는 코드를 보기 힘들게 했다.다른 스크립트 언어에서 제공하는 깔끔한 문법이 있으면 좋다고 생각했는데, ES6가 이런 요구사항을 만족시켜줄 거라 생각해서 새로운 Node.js 프로젝트에 ES6를 도입했다. (당시 Node.js v6.10.x 의 ES6 coverage가 99%였기 때문에 사용 가능했다.)

Background

ES5, ES6의 대한 설명을 바로 하는 것보다 JavaScript의 동작 원리를 알고 ES5, ES6를 알면 좋을 것 같다.

JavaScript Engines

Javascript Engine은 JavaScript로 작성된 코드를 해석하고 실행하는 인터프리터

프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다.

JIT 컴파일(just-in-time compilation) 또는 동적 번역(dynamic translation)은 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법이다. 실행 시점에서 기계어 코드를 생성하면서 그 코드를 캐싱하여, 같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지한다. JavaScript 엔진은 JIT Compile 유형의 인터프리터이다.