오늘 기술면접에서 받은 질문을 TIL로 정리해보려고 한다.
'Javascript와 ESCMAscript의 차이점을 설명해주세요.'라는 질문이었다. 순간 질문을 받고 멍때리고 당황했던 기억이 난다. 그래서 내 머릿속에서는 순간 '어? 같은거 아닌가...?'라고 생각이 들었고 답변을 하지 못했다.
그래서 오늘 TIL은 javascript와 ESCMAscript를 정리해보려고 한다.
ECMA는 European Computer Manufacturer's Association의 줄임말이며 정보와 통신 시스템을 위한 국제적 표준화 기구이다.
ECMAscript 또는 ECMAscript Specifiaction이라고 부른다. 쉽게말해, 어떻게 작성을 하면 웹 브라우저가 이를 어떻게 해석을 해서 어떻게 동작해야 하는지 등에 대한 규칙을 정의해둔 것이다.
즉, 자바스크립트를 이루고 있는 코어(Core) 스크립트 언어이다. 그러니까 프로그래밍 언어이다. 그래서 자바스크립트가 ECMAscript의 표준에 따라서 정의된 하나의 스크립트 언어라고 생각하면 된다.
ES에 뒤에 숫자는 버전을 뜻하는 숫자이다. 즉, 자바스크립트는 계속해서 기능을 추가하고 변화하는 언어이다.
ES5는 2009년에 발표했고, ES6는 2015년에 발표했다. 그 사이에 많은 기능들이 추가되었고 그 기능들이 자바스크립트를 굉장히 편리하게 해주고 있다. ES6이후에 계속 된 업데이트가 진행되고 있지만, ES5와 ES6의 차이에서 많은 기능이 추가되었고 변경 됨 점을 파악해야한다.
Javascript는 맨 처음에는 모카(Mocha), 그리고 LiveScript로 알려졌으나 Netscape가 Java의 인기에 영향을 받아서 최종적으로 Javascript로 이름을 바꾸었다. 그래서 Brenndan Eich라는 개발자가 설계를 시작으로 모카(Mocha)에서 LiveScript로 개명 그리고 최종적으로 Javascript로 바뀌었다.
결론은 웹에서 사용하는 프로그래밍 언어라는 것이다. 그렇다면 ECMAscript와는 관계는 무엇일까? 이런 의문이 들 수 있다.
처음의 Javascript는 웹 브라우저의 동적인 요소를 구현하기 위함이었다. 그 후에 많은 웹에서 Javascript를 탑재하기 시작했고, 다양한 브라우저에서 Javascript가 공통되게 작동할 수 있도록 일종의 규약(규격)이 필요했다. 그래서 ECMA에서 표준규약을 만들게 된 것이다.
ECMAScript는 스크립트 언어를 어떻게 만들어야 하는지를 설명해주는 설명서.
Javascript는 ECMAscript의 사양을 바탕으로 만들어진 언어.