언어/JavaScript
[ Javascript ] 템플릿 리터럴
Soso Dev
2025. 4. 4. 02:37
반응형
🌱 자바스크립트 템플릿 리터럴(Template Literals)은 ES6(ECMAScript 2015)부터 도입된 문자열 표기법으로, 기존 문자열 방식에 비해 훨씬 편리하고 강력한 기능을 제공합니다.
템플릿 리터럴의 특징
- 백틱(`) 사용: 작은따옴표('')나 큰따옴표("'") 대신 백틱(`)을 사용하여 문자열을 감쌉니다.
- 문자열 삽입:
${표현식}
형태를 사용하여 문자열 안에 변수나 표현식을 직접 삽입할 수 있습니다. - 여러 줄 문자열: 줄바꿈 문자(\n) 없이 여러 줄에 걸쳐 문자열을 작성할 수 있습니다.
- 태그드 템플릿 리터럴: 함수와 함께 사용하여 문자열을 더욱 세밀하게 제어할 수 있습니다.
템플릿 리터럴의 장점
- 가독성 향상: 문자열과 변수를 연결할 때
+
연산자를 사용하는 대신${}
를 사용하여 코드를 더욱 직관적으로 만들 수 있습니다. - 편리한 문자열 처리: 여러 줄 문자열이나 복잡한 문자열 조합을 간편하게 처리할 수 있습니다.
- 코드 유지보수성 향상: 문자열과 변수를 분리하여 코드를 더욱 명확하게 관리할 수 있습니다.
템플릿 리터럴 예제
// 1. 문자열 삽입
const name = "홍길동";
const age = 30;
const message = `이름: ${name}, 나이: ${age}`;
console.log(message); // 출력: 이름: 홍길동, 나이: 30
// 2. 여러 줄 문자열
const multiline = `
<ul>
<li>이름: ${name}</li>
<li>나이: ${age}</li>
</ul>
`;
console.log(multiline);
/* 출력:
<ul>
<li>이름: 홍길동</li>
<li>나이: 30</li>
</ul>
*/
// 3. 표현식 삽입
const x = 10;
const y = 20;
const result = `결과: ${x + y}`;
console.log(result); // 출력: 결과: 30
// 4. 태그드 템플릿 리터럴
function tag(strings, name, age) {
console.log(strings); // ["이름: ", ", 나이: ", ""]
console.log(name); // "홍길동"
console.log(age); // 30
return "태그드 템플릿 리터럴";
}
const tagged = tag`이름: ${name}, 나이: ${age}`;
console.log(tagged); // 출력: 태그드 템플릿 리터럴
// 5. 태그드 템플릿 리터럴 2
function highlight(strings, ...values) {
let result = '';
for (let i = 0; i < strings.length; i++) {
result += strings[i];
if (i < values.length) {
result += `<span class="highlight">${values[i]}</span>`;
}
}
return result;
}
const name = '홍길동';
const age = 30;
const highlighted = highlight`이름: ${name}, 나이: ${age}`;
console.log(highlighted);
//출력 : 이름 : <span class = "highlight">홍길동</span>, 나이 : <span class = "highlight">30</span>
템플릿 리터럴 활용 예시
- HTML 템플릿 생성
- SQL 쿼리 생성
- API 요청 URL 생성
- 복잡한 문자열 조합
템플릿 리터럴은 자바스크립트에서 문자열을 더욱 편리하게 다룰 수 있게 해주는 강력한 기능입니다.
반응형