본문 바로가기
C++ 200제/코딩 IT 정보

TypeScript 강의 3. 자바스크립트 버전과 ECMAScript

by vicddory 2019. 11. 10.


JavaScript 버전

최근 JavaScript 사양은 커뮤니티에서 논의되고 있습니다. TC39라는 ECMA 내부의 Technical Committee가 바로 그곳입니다. 클래스 등 대폭적인 기능 추가가 이루어진 ES6는 정식 릴리즈 때 ECMAScript 2015라는 정식 명칭이 부여됐으며, 이후로는 릴리즈 연도를 버전 이름으로 사용하고 있습니다.


논의 결과와 현재 올라있는 제안들은 모두 GitHub에서 볼 수 있습니다.


기능 단위로 제안이 이루어집니다.


처음에는 stage 0에서 시작하여 stage 1, stage 2으로 분기됩니다. 처음에는 아이디어로 시작하여 서서히 제대로 된 사양과 데모, 참고 구현 등 잘 동작한다는 결과(검증)를 요구합니다. stage 1이 제안, stage 2가 초안, stage 3 릴리스 후보, stage 4가 ECMAScript 표준 편입 항목입니다. 1월 정도에 stage 4로 격상되는 기능이 결정되어 6월에 새 버전이 출시됩니다.


TypeScript도 기본적으로 ECMAScript를 기반으로 했기에, ECMAScript의 기능은 적극적으로 받아들이고 있습니다. 또한, 일부 stage 2, stage 3의 기능도 포함합니다.


본 문서는 TypeScript 퍼스트로 설명하지만, JavaScript와 차이가 나는 곳에는 적절하게 내용을 보충합니다.



이 책의 참고 문헌 등

ECMAScript 사양 및 MDN, TypeScript 사양 참조 사이트입니다.



아래 사이트는 최근까지 Compiler Internal 등이 업로드된 사이트로만 생각하여, 자세한 내용은 보지 않았지만, 지금은 꽤 내용이 풍부해졌습니다. 현재, 추천하진 않지만 앞으로 참고할 가능성이 있습니다.


이 책에서 다루지 않는 것

이 강의에서 TypeScript의 에코 시스템까지 포함한 모든 것을 설명하려는 것은 아닙니다.


예를 들어, 기존의 JavaScript 라이브러리에 대한 형식 정의 파일을 만드는 방법을 설명하진 않습니다. 시간이 지나면 유명한 라이브러리들은 타입스크립를 지원할 것이라 기대하고 있으며, 처음부터 TypeScript으로 가면 형식 정의 파일은 자동으로 생성되기 때문에 필요하지 않습니다.


또한, 제네릭과 형식, 자료형, 타입, 시스템 등의 복잡한 기능을 깊숙이 다루지 않습니다. TypeScript도 조금씩 꾸준히 버전업을 거듭하고 있습니다. 일반적으로 개발자가 자주 사용하는 케이스는 이미 쓰고 쉽도록 디자인되어 있습니다. 또한, 지금 현재 아쉬운 부분도 앞으론 개선될 거라 생각합니다.



-- 미완성 문서입니다.

댓글