- 웹 페이지로 구현할 경우 사용자의 브라우저와 버전은 개발자와 다르게 항상 최신 버전 아니며 사파리, 크롬, 파이어폭스 등 다양하기 브라우저에서의 자바스크립트 표준인 ECMAScript의 문법 지원을 염두에 두어야 한다. 인터넷 익스플로러 11의 지원은 종료되었지만 여전히 어느정도 사용중이며 엣지 환경에서도 호환성 모드를 활성화하면 익스플로러 환경으로 페이지에 접근가능하며 셋톱박스와 같은 업데이트를 쉽게 할 수 없는 구형 기기에서도 ES5까지만 작동하는 경우가 있으므로 ES5 기준으로 transpile 된 코드를 파악하는 것이 중요.
- 사용자의 다양한 브라우저 환경, 최신 문법을 작성하고 싶은 개발자의 요구를 해결하기 위해 탄생한 것이 바로 바벨이며, 바벨은 JS의 최신 문법을 다양한 브라우저에서도 일관적으로 지원할 수 있도록 코드를 transpile 하며, 어떻게 transpile 하는지와 결과에 따라 어떤 코드가 생성되는지 이해하게 되면 향수 애플리케이션을 디버깅하는데 도움.
ex) C -> Assembly, Java -> Bytecode
ex) C ++ → C, ES6 → ES5 (Babel), typescript → javascript, sass / scss → css
ex) python, ruby, javascript
ex) c, c++, java
2024.09.25 - [Front-End/Javascript] - 자바스크립트 interpreter/compiler pipeline
| 객체 구조 분해 할당 (2) | 2024.09.23 |
|---|---|
| 배열 구조 분해 할당 (0) | 2024.09.23 |
| (4) 태스크 큐(task queue) 와 마이크로 태스크 큐(micro task queue) (2) | 2024.09.20 |
| (3) 이벤트 루프와 비동기 작업 (0) | 2024.09.20 |
| (2) 이벤트 루프 (0) | 2024.09.19 |