let, const 키워드를 사용해 변수, 상수를 정의 가능let 변수는 var 변수가 불러오는 문제점(중복 선언, 호이스팅에 따른 의도치 않은 동작 등) 해결 가능let, const 키워드를 사용하면 블록 스코프(Block Scope)를 사용가능let context = document.querySelector('html');
{
let context = document.querySelector('body');
console.log('블록문 내부 context = ', context);
}
console.log('글로벌 context = ', context);
${} 를 통해 값에 접근let nickname = 'yamoo9';
let greeting_message = `
<p>
안녕하세요 <strong>${nickname}</strong>님.
가입을 환영합니다. :-)
</p>
`;
컴파일 코드
var nickname = 'yamoo9';
var greeting_message = "\n <p>\n \uC548\uB155\uD558\uC138\uC694 <strong>" + nickname + "</strong>\uB2D8.\n \uAC00\uC785\uC744 \uD658\uC601\uD569\uB2C8\uB2E4. :-)\n </p>\n";
let corsURL = (url:string): string => `https://crossorigin.me/${url}`;
corsURL('http://yamoo9.herokuapp.com/rest/ediya-menu');
= 뒤에 기본 값을 할당function countDown(start:number = 10): ()=>number {
return () => start > 0 ? start-- : 0;
}
컴파일 코드
function countDown(start) {
if (start === void 0) { start = 10; }
return function () { return start > 0 ? start-- : 0; };
}
... 문법을 활용하여 사용let numbers:number[] = [101, 21, -12, 934, 87];
numbers = [10, 31, 11, ...numbers, -2, 0];
console.log(numbers);
// numbers = [10, 31, 11, 101, 21, -12, 934, 87, -2, 0]
... 을 함수의 매개변수 앞에 붙여 나머지 매개 변수 사용가능function makeArray(...args:(number|string)[]): (number|string)[] {
return args;
}
makeArray(11, 'eleven', 100, 'one hundred');
비구조화 할당은 배열, 객체의 아이템 또는 속성을 변수에 할당할 때 유용
// 배열 비구조화 할당
let [html, , body] = [document.documentElement, document.head, document.body];
// 객체 비구조화 할당
let numbers_module = {
multiplyNumbers: (...n:number[]):number => n.reduce((a, b) => a * b),
sumNumbers: (...n:number[]):number => n.reduce((a, b) => a + b)
};
let { sumNumbers } = numbers_module;