서적/모던 자바스크립트 Deep Dive

[06장 데이터 타입] 템플릿 리터럴

kelly09 2024. 5. 26. 17:58

🍰 template literal

: ES6에 도입된 새로운 문자열 표기법. 편리한 문자열 처리 기능 제공. 런타임에 일반 문자열로 변환되어 처리됨.

  • 멀티라인 문자열(multi-line string)
  • 표현식 삽입(expression interpolation)
  • 태그드 템플릿(tagged template)

🍴 멀티라인 문자열

: 여러 줄에 걸친 문자열 쉽게 작성 가능. 기존 방식에서는 백슬래시(\) 사용함.

// 기존 방식
var str = "이것은 첫 번째 줄\n" +
          "이것은 두 번째 줄";

// 템플릿 리터럴
let str = `이것은 첫 번째 줄
이것은 두 번째 줄`;

🍴 표현식 삽입

: 변수표현식을 문자열 안에 간편하게 삽입

let name = 'Alice';
let age = 25;

// 기존 방식
let message = 'Hello, my name is ' + name + '. I am ' + age + ' years old.';

// 템플릿 리터럴
let message = `Hello, my name is ${name}. I am ${age} years old.`;

🍴 태그드 템플릿

: 템플릿 리터럴 앞에 함수를 붙여 '태그드 템플릿' 만들 수 있음. 템플릿 리터럴 더 강력하게 제어.

function tag(strings, ...values) {
  console.log(strings); // ['Hello ', ' world ', '']
  console.log(values);  // [10, 20]
  return 'Tagged Template Example';
}

let x = 10;
let y = 20;

console.log(tag`Hello ${x} world ${y}`); // Tagged Template Example