ES6부터 도입된 새로운 문자열 표기법인 템플릿 리터럴
멀티라인 문자열, 표현식 삽입, 태크그 템플릿 등 편리한 문자열 처리 기능을 제공하며 런타임에 일반 문자열로 변환되어 처리된다.
`` 백틱 이라는 기호를 사용하여 정의한다
const str = `Hello ES6`
const first = 'Sohyeon'
const last = 'Kim'
// 문자열 연결
console.log('My name is ' + first + ' ' + last + '.');
//My name ist Sohyeon Kim.
const first = 'Sohyeon'
const last = 'Kim'
// 문자열 연결
console.log(`My name is ${first} ${last}.`);
//My name ist Sohyeon Kim.
표현식을 넣으려면 ${}으로 표현식을 감싼다. 이때 표현식의 평가 결과가 문자열이 아니더라도 문자열로 타입이 강제로 변환되어 삽입된다.
또한 JS 문자열은 문자 중간에 enter를 치면 안되지만 템플릿 리터널 내에서는 줄바꿈이 허용되며, 모든 공백도 있는 그대로 적용된다.
const template =`<ul>
<li>${fruit}</li>
</ul>`
console.log(template)
// 출력결과
<ul>
<li>${fruit}</li>
</ul>
var fruit = "apple";
var test3 = `배고파 뭐 먹냐 그건 바로 ${fruit}이다`
console.log(test3)
//'배고파 뭐 먹냐 그건 바로 apple이다'
참고및 출처
모던 자바스크립트 Deep Dive