1. JavaScript 탄생
첫 탄생은 브랜든 아이크가 10일만에 설계한 것으로부터 시작합니다.
처음에는 Mocha라는 이름이었지만, 4달 만에 LiveScript라는 이름으로 개명하고 다시 3달 후에는 JavaScript라는 이름이 되어 오늘날까지 이어지고 있습니다.
JavaScript라고 지은 이유는 Java의 유명세를 타서 묻어가려고 의도적으로 만들었다고 합니다.
해당 언어는 웹 브라우저 내에서 주로 사용되며, node.js를 통해 Backend도 만들 수 있게 되었습니다.
뿐만아니라 라즈베리파이에도 사용이 가능하며, 여러곳에서 사용될 수 있는 언어로 발전했습니다.
2. ECMAScript
ECMA International 이라는 국제 표준화 기구가 있습니다.
표준화 시킨 대표적인 것들은 JSON, C#언어 규격, C++/CLI언어 규격, CD-ROM 볼륨 규격.(이 정도만 알아보자...)
ECMA에서 만든 표준화중에는 ECMA-262라는 것이 있습니다. 해당 규격을 JavaScript가 사용합니다.
따라서 해당 규격에 맞춰 매년 ES6 ~ ES12까지 나오고 있으며, 나올때마다 조금씩 문법이나 새로운 자료형들이 추가되었습니다.
3. JavaScript vs ECMAScript
ECMAScript는 표준화를 시킨 문법입니다.
쉽게 말해서 설명서 같은 존재입니다.
JavaScript는 해당 설명서를 바탕으로 만들어진 코드 이구요.
JavaScript는 BOM(Browser Object Model) + DOM(Document Object Model) + ECMAScript가 합쳐진 형태입니다.
때문에 JavaScript를 ES6라고 부르거나 하는 것입니다.
또는 채용 사이트에 "JavaScript ES6 문법을 잘 사용할줄 아는 분" 이라는 뜻도 결국, ES6규격에 맞춰 코딩할 수 있느냐? 라는 뜻입니다.
4. JavaScript Engine
ECMA-262규격에 맞춰 문법들이 다양해집니다.
하지만 개발자들은 ES6문법을 사용하거나 ES9문법을 사용하거나, 래거시코드(var)를 사용하기도 합니다.
그렇다면 이렇게 각기다른 문법으로 쓰여진 JavaScript는 어떻게 컴파일되는걸까??
JavaScript는 웹 언어이다. 때문에 웹브라우저에서 동작하게됩니다.
다시말해 웹브라우저에 컴파일러가 있고 이를 엔진이라고 표현합니다.
크롬에서는 Google이 만드 V8 Engine이 있고, MS Edge에는 Chakra라는 엔진이 있습니다.
물론, 각 엔진마다 동작방식도 다르고, 컴파일 하는 내용도 다릅니다.
또한 Script언어는 컴파일이 아니라 인터프린터를 통해서 한줄 읽고 실행하는 식으로 진행하게 됩니다.
하지만, V8 같은 경우 ByteCode로 컴파일하여 실행하게 됩니다.
자세한 내용은 여기를 참고해주세요.
https://hwan-shell.tistory.com/343
'프로그래밍 > JavaScript' 카테고리의 다른 글
JavaScript의 Garbage Collection (0) | 2023.02.22 |
---|---|
V8 Engine의 integer, string이 메모리 어디에 할당 되는가? (0) | 2023.01.23 |
V8 Engine에 대해서....(메모리구조, 컴파일방식) (4) | 2021.05.31 |
댓글