이스케이프 문자 | |
---|---|
\" | 큰따옴표 |
\' | 작은따옴표 |
\` | 백틱 |
\n | 줄바꿈(개행) |
\t | 탭(Tab) |
\r | 캐리지 리턴(Carriage return, CR) |
\v | 수직 탭(Vertical Tab, VT) |
\b | 백스페이스(Backspace) |
\f | 폼 피드(Form feed) |
\XXX | 8진수 Latin-1 문자 |
\xXX | Latin-1 문자 |
\uXXXX | 유니코드 ( |
문자열
문자열(String)은 0개 이상의 문자들이 나열된 형태의 데이터입니다. 문자열을 다루는 편이 따로 존재하는 이유는 문자열이 중요한 자료형이며 문자열에 대해 알아야 할 것이 많기 때문입니다. 감지된 메시지, 메시지를 보낸 유저의 이름, 방 이름, 봇이 보낼 메시지 등 많은 데이터가 문자열 데이터입니다. 프로그래밍에서도 텍스트를 다루는 일은 중요합니다. 이 문서에서는 문자열에 대해, 그리고 문자열을 잘 다루기 위해 알아야 할 것들을 소개합니다.
문자열 리터럴
문자열은 큰따옴표("
), 작은따옴표('
) 또는 백틱(`
)으로 값을 감싸서 표현합니다.
"큰따옴표로 감싼 문자열입니다." '작은따옴표로 감싼 문자열입니다.' `백틱으로 감싼 문자열입니다.`
특히, 백틱으로 감싼 리터럴을 템플릿 리터럴(Template literals)이라고 합니다. 이는 큰따옴표 또는 작은따옴표를 사용한 문자열 리터럴보다 더 유용합니다.
이스케이프 문자
이스케이프 문자(Escape character)는 쉽게 입력할 수 없는 특수 문자를 의미하는 문자입니다. 모든 이스케이프 문자는 앞에 백슬래시(\
)가 붙습니다. 백슬래시는 한국어 컴퓨터 키보드에서 원화 기호 키를 눌러 입력할 수 있습니다.
여기에서 특수 문자란, 줄바꿈, 탭 문자, 따옴표 등을 의미합니다. 아래의 표는 문자열에서 사용 가능한 이스케이프 문자입니다.
큰따옴표, 작은따옴표, 백틱이 이스케이프 문자로 존재하는 이유는 세 문자가 JavaScript에서 문자열 리터럴에 사용되는 문자이기 때문입니다. 예를 들어,
"큰따옴표", '작은따옴표', `백틱`입니다.
를 표현하기 위해
"\"큰따옴표\", '작은따옴표', `백틱`입니다." '"큰따옴표", \'작은따옴표\', `백틱`입니다.' `"큰따옴표", '작은따옴표', \`백틱\`입니다.`
와 같이 이스케이프 문자를 사용할 수 있습니다.
줄바꿈
줄바꿈은 이스케이프 문자를 사용해 표현할 수 있습니다. 예를 들어, 아래와 같이 메시지를 보내고자 한다면
안녕하세요. 반갑습니다.
다음과 같이 작성할 수 있습니다.
const str = "안녕하세요.\n반갑습니다."; msg.reply(str);
템플릿 리터럴은 줄바꿈까지 고려해주므로 다음과 같이 이스케이프 문자 없이 표현할 수 있습니다.
const str = `안녕하세요. 반갑습니다.`; msg.reply(str);
식/변수 연결
두 문자열을 연결하거나, 문자열 중간에 식이나 변수를 연결하기 위해 +
연산자를 사용합니다.
const botName = "카카오톡봇"; msg.reply("안녕하세요, " + botName + "입니다."); // '안녕하세요, 카카오톡봇입니다.' 전송 msg.reply("2 더하기 3은 " + (2 + 3) + "입니다."); // '2 더하기 3은 5입니다.' 전송
템플릿 리터럴은 ${}
을 사용해 식 또는 변수를 더 간편하게 연결할 수 있습니다.
const botName = "카카오톡봇"; msg.reply(`안녕하세요, ${botName}입니다.`); // '안녕하세요, 카카오톡봇입니다.' 전송 msg.reply(`2 더하기 3은 ${2 + 3}입니다.`); // '2 더하기 3은 5입니다.' 전송