티스토리 뷰

Language/JavaScript

JavaScript? ECMAScript?

out of coding 2020. 12. 19. 12:13

우리가 흔히 개발을 할 때에 JavaScript를 이용해서 개발을 한다고 합니다.

그런데 어느쪽에서 보면 ECMAScript라는 이야기도 나오고요.

왜 이렇게 된거냐면?

다른 프로그래밍 언어와 마찬가지로, JavaScript라는 언어에는 표준 명세(standard specification)라는 것이 존재합니다.

여러 브라우저 개발사에서 통일된 JavaScript 기능을 구현할 수 있도록, 언어의 문법과 기능을 세부적으로 정의해놓은 설계도라고 생각하면 됩니다.

JavaScript의 표준 명세는 ECMAScript라는 이름을 갖고 있는데, Netscape에 탑재되었던 JavaScript 구현체(implementation)를 ECMA(European Computer Manufacturer’s Association)라는 단체에서 표준화한 것입니다. 이 표준은 1997년에 처음 제정되어 계속 발전하고 있는 중입니다.

ECMAScript?

ECMAScript는 Ecma 인터내셔널에 의해 제정된 ECMA-262 기술 규격에 의해 정의된 범용 스크립트 언어입니다.

ECMA-262는 하나의 표준의 이름입니다.

그리고 ECMAScript는 ECMA-262에서 정의된 하나의 사양을 의미합니다.

ECMAScript는 스크립트 언어가 준수해야 하는 규칙, 세부 사항 및 지침을 제공합니다.

쉽게 말해서 ECMA-262을 표준으로 하여서 ECMAScript라는 규칙을 만들었다고 생각하면 됩니다.

JavaScript?

JavaScript는 ECMAScript 사양을 준수하는 범용 스크립팅 언어입니다.

그러므로 따지고 보면 ECMA와 동일하다고 볼수도 있지만 같지는 않다고 할 수 있어요.

그런데 말입니다?

이렇게 정의된 JavaScript를 각 브라우저들마다 해석하는 능력이 다른 문제점들이 있습니다.

어떤것들은 속도가 빠르고 어떤것들은 선을 조금 더 이쁘게 그리고 하는 능력들이죠.

이런것들을 ECMAScript를 얼마나 잘 적용할수있게 해두었는지에 대해서 이야기 하는것이라고 생각하면 됩니다.

ES6 (‘ES2015’, ‘ECMAScript 2015’) 가 나오면서 문제가 더 생겼습니다.

그래서 다음과 같은것을 사용하게 되었죠.

바벨(Babel)

대부분의 개발자들은 ES6을 지원하는 환경에서 개발이 가능했습니다.

그런데 마이크로소프트에서 자기들 마음대로 만든 Internet Explorer에서 ES6 사양을 준수하지 않고 있기도 하고요.

저야 뭐 프론트 개발은 하지 않아서 이런 내용만 알고 있지만 다들 이것 때문에 많이 힘들어 하시죠.

이런 문제를 바벨이 해력하여 줍니다.

ES6 사양으로 개발된 JavaScript code를 ES5로 변경하여 줍니다.

산출물도 JavaScript입니다. :D

 

아주 편하고 좋지만 이것을 사용 할 때 만능은 아니어서 염두에 두기는 하여야 합니다.

사라져라 윈도우여...

마지막으로...

제 입장에서는 JavaScript라 불러도 그만이고 ECMAScript라고 불러도 그만인거 같습니다.

저는 입에 붙은 JavaScript라고 부르는게 더 편하긴 합니다.

 

그냥 이런 개념이 있다는 정도만 알면 되고 누가 이게 잘못되었다고 표현하는것은 아니라고 생각합니다.

재밌는건 JavaScript가 먼저 탄생했고 ECMAScript가 이것을 정의하기 위해서 만들어졌는데

 

ECMAScript는 JavaScript를 기반으로 하고, JavaScript 역시 ECMAScript를 기반으로 한다.

 

입니다.

뭔소리죠. ㅎㅎㅎ

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함