본문 바로가기

Software Engineering/Languages

어지러운 JavaScript 생태계 | Vanilla JS, ECMA, React의 관계

한국어, 표준어, 그리고 줄임말

JavaScript를 어렵게 만드는 또다른 요인으로는, 복잡한 JavaScript 생태계가 있다. JavaScript는 뭐고, Vanilla JS는 또 무엇인지. 그리고 JavaScript 신문법이라고 ES6가 있다는데, 얘는 그러면 다른 JavaScript인가? 요새는 React, Vue같은 걸로 프론트엔드를 만든다는데, 그러면 JavaScript는 이제 안 쓰는 건지. 특히 비전공자입장에서는 이런 수많은 것들이 우리의 머리를 어지럽게 만든다.

 

그래서 나름대로의 비유를 통해 이러한 부분들을 이해해보고자 한다. 먼저 Vanilla JS는 한국어다. 그냥 한국어가 바로 Vanilla JS다. 어떠한 프레임워크와 라이브러리도 사용하지 않는 자연어로서의 한국어와 동등한 위상을 지니는 것이 바로 Vanilla JS다.

 

헌데, 한국어를 사용하다 보면, 지역별로 차이가 발생한다. 사투리가 생기고 방언이 생긴다. 그러다 보면, 이 사투리라는 것이 다양한 형태로 파생되어, 같은 한국어에 속하지만, 서로 말하는 내용을 알아듣지 못하는 상황이 생긴다. 이를 방지하기 위해서 국립국어원 같은 곳(ECMA)에서 만든 표준어 규칙들이 있다. 이게 ES5, ES6이라 불리는 것들이다.

 

한국어로 말을 하다보면, 긴 내용을 축약해서 말하고 싶어진다. 그러면 형태는 이전과 달라지지만, 훨씬 짧은 단어로 많은 의미를 내포할 수 있게 된다. 바로 그 역할을 하는 것이, React, Angular, Vue이다. 여기에 있는 기능들은 Vanilla JS로 구현할 수 있지만, 이전보다 쉽게 구현을 위해 줄임말 역할을 하는 것이다.