Template literals (템플릿 리터럴)
템플릿 리터럴은 내장된 표현식을 허용하는 문자열 리터럴이다.
이전 버전의 ES2015 명세서에는 "template strings" (템플릿 문자열)라고 불렸다.
익숙해지면 굉장히 편리한 문법이다!
핵심 기능
- 여러 줄 표현
- 문자열에 변수, 표현식 삽입
사용 방법
- 이중 따옴표
""
, 작은 따옴표''
대신 백틱(backtick)``
을 이용한다. 물결(~)과 같은 키 버튼이다. - 변수나 표현식은 $와 중괄호를 통해 표기한다. -
${var}
,${a + b}
여러 줄 표현
normal strings
console.log('string text line 1\n' +
'string text line 2');
[ES6] template literals
console.log(`string text line 1
string text line 2`);
표현식 삽입
normal strings
var a = 5;
var b = 10;
console.log("Fifteen is " + (a + b) + " and\nnot " + (2 * a + b) + ".");
[ES6]template literals
var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b} and
not ${2 * a + b}.`);
중첩 표현식
normal strings
var classes = 'header'
classes += (isLargeScreen() ?
'' : item.isCollapsed ?
' icon-expander' : ' icon-collapser');
[ES6] template literals without nesting
const classes = `header ${ isLargeScreen() ? '' :
(item.isCollapsed ? 'icon-expander' : 'icon-collapser') }`;
[ES6] nested template literals
const classes = `header ${ isLargeScreen() ? '' :
`icon-${item.isCollapsed ? 'expander' : 'collapser'}` }`;
참조
'프론트엔드 > JavaScript' 카테고리의 다른 글
[JavaScript] 클린 코드 - 1. 변수명 짓는 방법 (0) | 2021.06.23 |
---|---|
[JavaScript] 배열 메서드 종류 (filter, forEach, map, reduce, sort) (0) | 2021.04.13 |
[JavaScript / ES6] 화살표 함수 (Arrow function) (0) | 2021.04.09 |
[Javascript] classList 메서드 종류 (remove, add, item, toggle, contains, replace) (0) | 2021.04.09 |
[JavaScript] 자주 사용하는 DOM API 정리 (0) | 2021.01.21 |