오늘 뭐했냐/개발에 대한 주저리

23. 06. 18 ES는 뭘까

스스로에게 2023. 6. 18. 17:14

 ES는 뭘까하고 찾아봤다 ECMA인터네셔널이라는 곳이 있는데 정보통신에 대한 표준을 제정하는 비영리 표준화 기구이고 거기서 낸 규격 중 하나에 ECMA-262 라는 게 있다. 이 ECMA-262 기술 규격에 의해 정의된 스크립트 언어의 기준이 ECMAScript인데 이게 ES이다 참고로 스크립트 언어란 독립된 시스템에서 작동하도록 특별히 설계된 프로그래밍 언어이다. ES에 맞춰서 만들어졌으면서 가장 많이 사용하는 언어가 내가 배우는 JavaScript이며, 이는 원래 웹환경에서만 사용이 가능했지만 이 웹을 벗어나도 사용할 수 있게 해주는게 Node.js이다

 당연히 이렇게 하면 머리에 안들어오니까 간단히  ECMA인터네셔널 > ECMA-262 > ES > JavaScript > Node.js 정도로 이해하고 예를 들면 내가 월세 혹은 전세 계약이 끝나고 새로 집을 구하러 부동산을 갔을 때 집을 계약하고 부동산에 복비라고 해서 보수를 준다 이 때 입법부(ECMA인터네셔널)에서 정한 법 중 하나인 부동산법(ECMA-262)에 의해서 복비(ES)가 정해져 있는데 보통은 최대치(JavaScript)로 받는다 그리고 거기서 원만하게 협의(Node.js)를 하면 내 주머니 사정에 조금 맞출 수 있다라고 이해를 했다.

 이제 또 공부하다가 가장 많이 보는게 es6인데 이건 또 뭐냐 왜 콕 찝이서 es6만 나오냐 당연히 es6가 중요하니까 나오겠지만 왜 중요한지는 알아야할 것 같다. es 뒤에 숫자는 쉽게 말해 버전이다. 윈도우도 95 98 xp vista 10 11 이렇게 나뉘는 거랑 비슷하다. 그럼 뭐가 다르길레 그렇게 많이 나올까 하는 부분인데 이건 솔직히 너무 많아서 써놔도 내가 아직은 다 알지 못하니까 대표적으로 내가 가장 많이 쓰는 화살표 함수나 `(백틱), let와 const 등도 이 때 추가 되었으며 이 외에도 나는 아직 모르지만 자주 사용하는 것들이 많이 추가 되었다. 그 덕분에 편의성이나 기술적으로도 엄청난 발전을 했기에 es6가 가장 언급이 많이 되고 있다 그리고 es5도 언급은 적지만 굉장히 중요한 내용들이 많다 forEach, map, filter 같은 내가 자주 쓰는 배열의 메소드들과 json형식의 자료지원 등 이것도 많이 있지만 내가 모르는 내용 써봤자 의미가 없다. 그래도 es5 2009년 es4가 무산되면서 ES3와 10년 차이, es6 2015년 es5와 6년 차이 정도는 알면 좋을 것 같다 그 뒤로는 이런 급격한 변화를 막기 위해서인지 매년 추가되고 있는데 이전처럼 큰 변화는 없다

 결론은 es5와 es6를 거치고 내가 지금의 JavaScript에 가까워졌다는 것이다. JavaScript가 10일만에 설계해서 시작되었다고 하는 이야기도 있는데 그건 사실이 아닐 수도 있지만 그만큼이나 부족한 기능들이 많았다. 이것을  es5와 es6가 나오는데 각각 10년, 6년 합쳐서 16년이나 걸려서 이렇게 변화했다. 나는 이제 프로그래밍을 배우기 시작해서 당연하게 쓰지만 없었다면 많이 답답하긴 했을 것 같고 솔직히 es6가 나오기 전 혹은 초반이라면 나도 Node.js 외에 다른 선택을 했을 수도 있겠다. 

 

내 개인적인 생각이라 틀린 부분도 있겠지만 그건 나도 더 배우면서 완성해야할 부분이다