백틱(Backtick, ```)은 자바스크립트에서 템플릿 리터럴(Template Literals)을 작성할 때 사용하는 기호입니다. 백틱은 기존의 문자열 작성 방식('
, "
)보다 다양한 기능을 제공하여 문자열을 다루는 데 매우 유용합니다.
1. 기본 사용법
백틱을 사용하면 문자열을 작성할 때 여러 줄에 걸친 문자열을 쉽게 만들 수 있으며, 표현식을 삽입할 수 있는 기능도 제공합니다.
const message = `This is a string using backticks!`;
console.log(message); // 출력: This is a string using backticks!
2. 여러 줄 문자열
백틱을 사용하면 여러 줄에 걸친 문자열을 쉽게 작성할 수 있습니다. 기존 방식에서는 줄바꿈 문자(\n
)를 사용해야 했지만, 백틱을 사용하면 그럴 필요가 없습니다.
const multiLineString = `This is a
multiline
string.`;
console.log(multiLineString);
출력:
This is a
multiline
string.
3. 문자열 내 표현식 삽입 (String Interpolation)
백틱을 사용하면 ${}
를 통해 문자열 내에 변수나 표현식을 삽입할 수 있습니다. 이를 문자열 보간(String Interpolation)이라고도 부릅니다.
const name = "John";
const age = 30;
const greeting = `Hello, my name is ${name} and I am ${age} years old.`;
console.log(greeting); // 출력: Hello, my name is John and I am 30 years old.
여기서 ${}
안에 변수를 넣으면 그 값이 문자열 내에 동적으로 삽입됩니다.
4. 복잡한 표현식 삽입
백틱 안에서는 단순한 변수가 아닌 복잡한 자바스크립트 표현식도 삽입할 수 있습니다.
const a = 5;
const b = 10;
const result = `The sum of ${a} and ${b} is ${a + b}.`;
console.log(result); // 출력: The sum of 5 and 10 is 15.
5. 태그된 템플릿 리터럴 (Tagged Template Literals)
태그 함수와 함께 사용할 수도 있습니다. 태그된 템플릿 리터럴은 템플릿 리터럴의 문자열 부분과 표현식을 개별적으로 처리할 수 있게 해줍니다. 주로 보안이나 다국어 지원 같은 특정 목적에 맞춰 문자열을 조작할 때 사용됩니다.
function tag(strings, ...values) {
console.log(strings); // ['Hello, ', ' is ', ' years old.']
console.log(values); // ['John', 30]
return `${values[0]} is ${values[1]} years old.`;
}
const name = "John";
const age = 30;
const message = tag`Hello, ${name} is ${age} years old.`;
console.log(message); // 출력: John is 30 years old.
6. 기존 문자열 방식과 비교
기존 방식에서는 작은 따옴표('
)나 큰 따옴표("
)를 사용해 문자열을 작성해야 했고, 여러 줄을 표현할 때 줄바꿈 문자를 사용하거나, 문자열에 변수를 삽입하려면 문자열을 연결해야 했습니다.
const name = "John";
const greeting = "Hello, my name is " + name + " and I am 30 years old.";
백틱을 사용하면 더 가독성 좋게 작성할 수 있습니다.
결론
백틱(템플릿 리터럴)은 자바스크립트에서 문자열을 다룰 때 매우 강력한 기능을 제공합니다. 여러 줄 문자열 작성, 표현식 삽입, 태그된 템플릿 리터럴 등 기존 방식보다 더 간편하고 유연하게 문자열을 처리할 수 있어 현대 자바스크립트에서 많이 사용됩니다.
'Javascript' 카테고리의 다른 글
Fetch API (0) | 2024.11.11 |
---|---|
문서 객체 모델 (DOM) (1) | 2024.10.04 |
프로퍼티(Property)와 메서드(Method) 그리고 배열(Arrays) (0) | 2024.10.04 |
이벤트(Event)와 이벤트 처리기(Event Handler) (0) | 2024.10.04 |
자바스크립트 기초 정리 (0) | 2024.10.04 |