Template Literal

템플릿 리터럴은 내장된 표현식을 허용하는 문자열 리터럴 입니다. 여러 줄로 이뤄진 문자열과 문자 보간 기능을 사용할 수 있습니다.

영상 강의

PART 1

codepen



예제

템플릿 리터럴 을 사용하면 명시적인 문자열 이스케이프를 사용하지 않아도 특수문자를 포함한 문자열을 구축할 수 있습니다.

var text = "이 문자열은 이스케이프 된 \"큰 따옴표\"를 포함합니다.";
let text = `이 문자열은 이스케이프 된 "큰 따옴표"를 포함합니다.`;

템플릿 리터럴은 문자열과 값을 연결시키는 문자 인터폴레이션(String Interpolation)을 지원합니다.

기존의 문자 접합 코드를 복잡하여 사용하기 불편했습니다.






 

var cat = {
  name: '몽크'
  age: 9
};

console.log('우리집 냥이 이름은 ' + cat.name + '이고, 나이는 ' + cat.age + '살 입니다.');

코드를 ES6+ 템플릿 리터럴을 활용하면 보다 간단하고 읽기 쉬운 코드를 작성할 수 있습니다.






 

const cat = {
  name: '몽크'
  age: 9
};

console.log(`우리집 냥이 이름은 ${cat.name}이고, 나이는 ${cat.age}살 입니다.`);

ES5에서 템플릿 코드를 개행하기 위해서는 다음과 같이 코드를 작성했습니다.

var htmlCode = (
    '<div\n' +
    '  data-code-type="html"\n' +
    '  class="code wrapper"\n' +
    '>\n' +
    '  ...' +
    '</div>'
);

// 또는

var htmlCode = [
    '<div',
    '  data-code-type="html"',
    '  class="code wrapper"',
    '>',
    '  ...',
    '</div>'
].join('\n');

// 또는

var htmlCode = '\
  <div\
    data-code-type="html"\
    class="code wrapper"\
  >\
    ...\
  </div>\
';

ES6+ 템플릿 리터럴은 개행을 보존하므로 보다 편리하게 코드를 작성할 수 있습니다.

let htmlCode = ( `
  <div
    data-code-type="html"
    class="code wrapper"
  >
    ...
  </div>
`);

뿐만 아니라, 템플릿 리터럴은 JavaScript 표현식을 사용할 수 있습니다.


 

let today = new Date();
let time = `현재 시각은 ${today.toLocaleTimeString()}입니다.`;

참고