티스토리 뷰
- 자바스크립트는 새로운 피처를 계속 도입하며 진화한다.
- 하지만 일반적으로 자바스크립트 엔진은 더 느리게 이를 반영한다.
- 구형 엔진에서 새로운 자바스크립트 피처를 사용하고 싶으면 어떻게 해야할까?
- transpiler
- polyfills
transpiler
- 소스코드를 구현 엔진이 이해할 수 있는 소스코드로 변형한다.
- 예를 들어 es2020로 쓰인 코드를 es5로 변경하여 es5만 지원하는 구형 엔진에서도 돌아갈 수 있도록 한다.
// 트랜스파일러를 돌리기 전
height = height ?? 100;
// 트랜스파일러를 돌린 이후
height = (height !== undefined && height !== null) ? height : 100;
- 가장 유명한 트랜스파일러는 babel이다.
- webpack 같은 번들러는 코드가 change할 때마다 자동으로 트랜스파일러를 거치도록 해준다.
polyfills
- code piece를 추가하여 새로운 API를 emulate한다.
- syntax나 연산자는 폴리필로 해결할 수 없고 트랜스파일러로 해결해야 한다.
- 하지만 새로이 추가된 빌트인 함수는 emulate할 수 있다.
- 예를 들어 Math.trunc 같은 함수는 아주 구형 엔진에서는 돌아가지 않을 수 있는데, 이 기능을 Math.floor과 Math.ceil로 implement하는 것이다.
- 폴리필을 지원하는 라이브러리로는 core js가 많이 알려져있다.
Ref
'공부일지(TIL) > JavaScript' 카테고리의 다른 글
CommonJS vs ES module (0) | 2022.07.24 |
---|---|
[JavaScript] Browsing Context, BroadcastChannel (0) | 2022.02.16 |
[JavaScript] 렉시컬 환경 (0) | 2021.08.11 |
[JavaScript] Iterable, Array-like (0) | 2021.08.01 |
[JavaScript] Value Equality (0) | 2021.07.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 포인터 변수
- youtube data api
- oracle
- 알고리즘
- package.json
- linkedlist
- getter
- react
- Redux
- SQL
- JavaScript
- 리덕스
- 개발 공부
- Java
- this
- c언어
- Prefix Sums
- GIT
- jQuery
- CSS
- Data Structure
- useEffect
- Conflict
- til
- Session
- rxjs
- 제네릭스
- 깃
- 인스턴스
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함