템플릿 리터럴: 백틱(``), 표현식(${ })
# 템플릿 리터럴(Template Literal)
ES6부터 새로 도입된 문자열 표기법
문자열 생성시 따옴표 대신, 백틱(`)을 사용
var str_01 = `hello world`;
//백틱 사용
const x='x';
const y='y';
const z='z';
console.log(`${x}는 x, ${y}는 y, ${z}는 z이다. `); //x는 x, y는 y, z는 z이다.
▶︎ 백틱(`)은 자바스크립트 JS ES6(ECMAScript 2015)부터 도입되었다.
▶︎ 개행 문자(\n)를 사용하지 않아도 자동 줄바꿈
▶︎ 생김새가 작은따움표(')와 비슷하니 헷갈리지 않도록 주의
# 템플릿 리터럴 - 백틱(`)의 기능
줄바꿈(개행: Multi-line strings)
▶︎ 백틱(`)으로 템플릿 리터럴을 사용하면, 줄바꿈 등을 쉽게 표현할 수 있다.
var str_01 = `
Hi!
It's me!
JavaScript!
So Cool!`;
<실행 결과>
▶︎ 기존 따옴표 방식에서는 줄바꿈이 허용되지 않았기 때문에 백슬러시(\)로 시작하는 이스케이프 시퀀스를 사용해야 했다.
var str_01 = "Hi! \n\t It's me! \n\t\t\t JavaScript! \n So Cool!";
▶︎ \n은 개행(Line Feed), \t는 탭(수평)을 의미하는 이스케이프 시퀀스
# 함수 호출
이전에는 함수를 호출할때 괄호( )를 이용해서 호출했다.
이제 함수를 호출할때 괄호 대신에 백틱(`)을 사용해도 가능하다.
다만, 백틱을 사용할 경우에는 매개변수가 문자열, 배열로 인식된다.
function a(x){
return x+1;
}
a(3); //31
a`4`; //41
#표현식 삽입(Expression interpolation)
▶︎ ${ } 사이에 변수나 연산 등을 삽입할 수 있게 되었다.
var name = `사과`
var price = 100
var num = 5;
console.log(`${name}의 구매가는 ${price * num}원 입니다.`)
<실행 결과>
▶︎ ${ } 의 결과는 문자열로 자동 변환됨.
▶︎ 기존의 따옴표 방식에서는, + 연산자로 여러번 이어 붙이기
var name = `사과`
var price = 100
var num = 5;
console.log(name + "의 구매가는 " + (price * num) + "원 입니다");
▶︎ 백틱 안에서 연산도 가능하다. 연산결과는 문자열로 자동 변환
console.log(`${5+10} 입니다`) // 15 입니다
console.log(`${5+10} 입니다`) // 15 입니다