모든 웹 브라우저가 ES6를 지원하지는 않는다.
ES6를 지원한다 하더라도 모든 ES6 기능을 지원하지는 또 않는다.
트랜스파일링
모든 브라우저를 지원하기 위해서 ES6를 ES5로 컴파일한다.
가장 유명한 도구로 바벨(Babel)이 있다.
ES6 형식으로 작성된 script이다.
const log = ( name='홍길동' , sports='축구' ) =>
console.log(`${name}은 지금 ${sports}를 합니다.`)
log()
바벨을 통해서 트랜스 파일링 한 결과이다.
'use strict';
var log = function log() {
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '홍길동';
var sports = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '축구';
return console.log(name + '\uC740 \uC9C0\uAE08 ' + sports + '\uB97C \uD569\uB2C8\uB2E4.');
};
log()
바벨 사용 방법이다.
우선 스크립트를 삽입해야한다.
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
방법1)
<script type="text/babel">
변환코드
</script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script type="text/babel">
const log = ( name='홍길동' , sports='축구' ) =>
console.log(`${name}은 지금 ${sports}를 합니다.`)
log()
</script>
방법2) 파일에 있는 소스 코드를 트랜스 파일링
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script src="script.js" type="text/babel">
브라우저에서 트랜스 파일링하면
브라우저에서 런타임하기 때문에 애플리케이션 실행 속도가 느려진다.
때문에 사전에 컴파일링해서 배포하는 것이 좋다.
'프로그래밍 > ES6' 카테고리의 다른 글
ES6 - 배열를 구조 분해해서 필드 값 얻기 (한번에 객체 필드 값 변수에 할당하기) (0) | 2019.06.26 |
---|---|
ES6 - 객채를 구조 분해해서 필드 값 얻기 (한번에 객체 필드 값 변수에 할당하기) (0) | 2019.06.26 |
ES6 - function this vs 화살표 함수(=>)의 this 차이점 (0) | 2019.06.26 |
ES6 - 화살표로 함수 만들기 => , function 키워드 없이 함수 만들기 (0) | 2019.06.26 |
ES6 - 함수 파라미터 기본값(디폴트값) 적용하기 (0) | 2019.06.26 |