목차
ECMAScript 호환성 표를 살펴보면 TypeScript는 ES6의 상당 기능을 지원(약 69%)합니다. Babel 컴파일러 지원율(약 72%)에 비해 다소 떨어지지만, ES6에서 지원하지 않는 강력한 기능을 TypeScript에서 활용할 수 있다는 점이 강점입니다.
ES6부터 let
, const
키워드를 사용해 변수, 상수를 정의할 수 있습니다. TypeScript 또한 마찬가지로 활용 가능합니다. let
변수는 var
변수가 불러오는 문제점(중복 선언, 호이스트에 따른 의도치 않은 동작 등)을 훌륭하게 해결 하므로 사용이 권장됩니다. 그리고 let
, const
키워드를 사용하면 블록 스코프(Block Scope)를 사용할 수 있습니다.
작성 코드:
let context = document.querySelector('html');
{
let context = document.querySelector('body');
console.log('블록문 내부 context = ', context);
}
console.log('글로벌 context = ', context);
컴파일 코드:
var context = document.querySelector('html');
{
var context_1 = document.querySelector('body');
console.log('블록문 내부 context = ', context_1);
}
console.log('글로벌 context = ', context);
ES6부터 템플릿 리터럴을 활용해 보다 손쉽게 ***템플릿 구문을 처리(문자열 접합)***할 수 있습니다. TypeScript에서도 템플릿 리터럴을 사용해 템플릿 구문을 손쉽게 사용할 수 있습니다.
작성 코드:
let nickname = 'yamoo9';
let greeting_message = `
<p>
안녕하세요 <strong>${nickname}</strong>님.
가입을 환영합니다. :-)
</p>
`;