
자바스크립트는 어떻게 동작할까? 자바스크립트의 동작 원리와 특징에 대해 알아보자.
자바스크립트는 브라우저와 서버 사이드(Next)등에서 사용될 수 있는데 이번 포스팅은 브라우저 기반의 자바스크립트를 포스팅할 예정이다. (이를 고려하여 읽기 바람)
브라우저든 서버든 자바스크립트의 동작 원리는 동일하다.
자바스크립트 자바스크립트 엔진을 사용하여 동작하고 엔진은 브라우저마다 다를 수 있다.
가장 널리 알려진 엔진으로는 V8(Chrome, Node.js), SpiderMonkey(Firefox), JavaScriptCore(Safari) 등이 있다.
자바스크립트의 또 다른 중요한 특징은 인터프리터 언어라는 것이다.
인터프리터는 무엇이고 그에 대비되는 개념은 무엇일까?
| 컴파일러 | 인터프리터 |
|---|---|
| 실행 전 모든 코드를 번역 | 일단 실행 후 런타임 시 번역 |
| 번역하기까지 시간이 걸리지만, 실행 시 빠름 | 초반 속도가 빠르지만 전체적인 실행 속도는 컴파일 언어에 비해 느릴 수 있음 |
여기서 번역이란 코드를 기계어로 변환하는 과정을 말한다
브라우저마다 사용하는 엔진이 다르다면 어떻게 규격을 맞추지?
각기 다른 브라우저 엔진들이 자바스크립트를 이해하고 실행하기 위한 공통된 규격을 ECMA Script로 정의했다.
즉, ECMAScript 라는 자바스크립트 문법의 표준사항 기반하여 각각의 자바스크립트 엔진들이 구현되어 있다.
그래서 뭔데 니가?
interpreter를 이용해서 런타임시 코드를 한줄씩 번역해서 실행하고 dynamic)으로 타입이 결정됨first-class function를 가지고 있으며prototype을 가지고 있고어느 곳에서든 사용 가능single thread 이다자바스크립트는 위와 같은 특징을 가진 프로그래밍 언어고 어떻게 구현하고 싶은지에 따라 다양한 라이브러리를 사용할 수 있다. 대표적인 라이브러리로는 react, vue, node 등이 있다~!

gpt에게 자바스크립트와 라이브러리의 관계를 직관적으로 알 수 있는 그림을 부탁했는데 .. 이렇게 나왔다