자바스크립트

Section 2. 자바스크립트 문자열(string) - 텍스트 데이터

포칼이 2023. 3. 22. 00:04

기본 표기방법은 다음과 같다.

let word = '안녕하세요!';
console.log(word);

let word = "반갑습니다~";
console.log(word);

그렇다면 문자열 안에 따옴표를 사용한다면 어떨까?

let word1 = '작은따옴표 안에 "큰따옴표" 사용';
let word2 = "큰따옴표 안에 '작은따옴표' 사용";
console.log(word1, word2);

// ⚠️ 오류 발생
let word1 = '작은따옴표 안에 '작은따옴표' 사용';
let word2 = "큰따옴표 안에 "큰따옴표" 사용";
console.log(word1, word2);

즉, 작은따옴표를 썼으면 그 안에서는 큰따옴표를, 큰따옴표를 썼으면 그 안에서는 작은따옴표를 써야 한다는 뜻이다.

 

이스케이프 표현이라는 것이 있다.

\' 작은따옴표
\" 큰따옴표
\n 줄바꿈
\t
\\ 백슬래시

이것을 사용하면 다음과 같이 쓸 수 있다.

// ⭐️ 이스케이프 표현(escape sequence)
let word1 = '작은따옴표 안에 \'작은따옴표\' 사용';
let word2 = "큰따옴표 안에 \"큰따옴표\" 사용";
console.log(word1, word2);

let word = '안녕하세요~\t\t반갑습니다!\n저는 \\홍길동\\입니다.';
console.log(word);

출력하면 다음과 같이 출력된다.

작은따옴표 안에 '작은따옴표' 사용 큰따옴표 안에 "큰따옴표" 사용

안녕하세요~        반갑습니다!

저는 \홍길동\입니다.

 

긴 문자열을 여러 줄에 표현하면

// let longName = '김수한무 거북이와 두루미 삼천갑자 동방삭 치치카포 사리사리센타 워리워리 세브리깡 무두셀라 구름이 허리케인에 담벼락 담벼락에 서생원 서생원에 고양이 고양이엔 바둑이 바둑이는 돌돌이';

let longName = '김수한무 거북이와 두루미 \
삼천갑자 동방삭 치치카포 사리사리센타 \
워리워리 세브리깡 무두셀라 구름이 \
허리케인에 담벼락 담벼락에 서생원 \
서생원에 고양이 고양이엔 바둑이 \
바둑이는 돌돌이';

// ⚠️ 줄바뀜 되는 것이 아님
// 큰따옴표도 마찬가지
console.log(longName);

이런식으로 이스케이프 문자를 사용하면 긴 문자열을 여러 줄에 쓸 수 있다.

 

백틱이란?

let word = `헬로헬로~`;
console.log(word);\

let word = `안녕하세요~		반갑습니다!
저는 \\홍길동\\입니다.`;
console.log(word);

백틱을 사용하면 문자열 안에 탭과 줄바꿈 그대로 사용 가능한 것을 볼 수 있다.

 

템플릿 리터럴

const NAME = '홍길동';
let age = 20;
let married = false;

console.log(
`제 이름은 ${NAME}, 나이는 ${age}세구요, \
${married ? '기혼' : '미혼'}입니다.`
);

${}안에 상수나 변수, 표현식 등을 삽입 가능하고 다른 자료형도 사용할 수 있다.

각각의 ${}안에 변수들을 써 줌으로써 변수에 할당된 값들이 출력되게 된다.

출력했을때는 다음과 같다.

제 이름은 홍길동, 나이는 20세구요, 미혼입니다.