[JS] 문자열

MJ·2022년 9월 19일
0

Java Script

목록 보기
40/57
post-thumbnail

문자열

JS는 글자 하나만 저장할 수 있는 별도의 자료형이 없습니다.
텍스트 형식의 데이터는 길이에 제한이 없이 문자열 형태로 저장됩니다.

JS에서 문자열은 페이지 인코딩 방식과는 상관 없이 항상 UTF-16 방식을 따릅니다.


문자열의 따옴표

문자열을 저장할 때 3가지 따옴표를 사용 합니다.
큰 따옴표, 작은 따옴표는 기능의 차이가 없습니다.
역 따옴표(백틱`)은 문자열 안에 표현식을 삽입할 수 있는 기능이 있습니다.

이런 방식을, 템플릿 리터럴(template literal)이라고 합니다.

let single='작은 따옴표';
let double="큰 따옴표";
let backticks=`백틱 ${double}`;
let multipleline = `John
					Jamse
					Tina`;	// 백틱을 사용하면 여러줄도 문자열로 표현할 수 있습니다.

백틱을 사용하면 문자열에 함수도 호출할 수 있습니다.

function sum(a, b){
  return a + b;
}

alert(`1 + 2 = ${sum(1, 2)}`);	// 1 + 2 = 3

🔔 작은 따옴표와 큰 따옴표

작은 따옴표와 큰 따옴표로 문자열을 표현하는 방식은 JS가 만들어졌을 때부터 존재
했습니다. 이 때는 문자열을 여러 줄에 걸쳐서 표현하려는 사고가 없었기에 모던한 JS
는 따옴표를 사용해서 여러 줄에 문자열을 걸치면 오류가 발생합니다.

백틱은 이후에 생성되었기에 따옴표(큰/작은)보다 많은 기능을 수행합니다.

🔔 함수에서 백틱사용

백틱은 템플릿 함수에서도 사용됩니다. func `string' 같이 첫 번째 백틱 바로 앞에
함수명을 사용하면, 함수는 백틱 안의 문자열이나 표현식 평가 결과를 인수로 받아서
자동 호출됩니다. 이런 기능을 태그드 템플릿이라고 부르는데 사용자 지정 템플릿에 맞는
문자열을 쉽게 만들 수 있습니다.



특수 기호

줄 바꿈 문자인 \n을 사용하면 작은 따옴표, 큰 따옴표도 여러 줄의 문자열을 표현할 수 있다.

let guestlist = '손님:\n *John\n *James\n *Tina';
alert(guestlist);

따옴표와 \n을 사용한 문자열과, 백틱을 사용한 문자열은 동일합니다.

let title="java\nscript"
let title2=`java
script`;

alert(title == title2);	// true

특수기호 목록

유니코드를 사용한 예시

alert( "\u00A9" ); 		// ©
alert( "\u{20331}" );	// 佫, 중국어(긴 유니코드)
alert( "\u{1F60D}" );	// 😍, 웃는 얼굴 기호(긴 유니코드)

모든 특수기호(문자)는 역 슬래시\로 시작합니다. \은 이스케이프 문자라고 합니다.
역 슬래시는 문자열 내에 따옴표를 넣을 때도 사용할 수 있습니다.

alert(' Hello \'My World\' ');	//Hello 'My World'
// 이런 방법 보다는, 백틱안에 따옴표를 사용하는 게 가독성이 좋습니다.
      
alert(`My Name 'John'`);		/ My Name 'John'

🔔 메모리상에는 \가 존재하지 않는다.

역 슬래시는 문자열을 정확하게 읽기 위해서 사용하는 특수 기호로, 자신의 역할이 종료
되면 사라지게 됩니다. 메모리에서 역 슬래시를 저장하게 하려면 \\두 개를 쓰면 된다.

profile
프론트엔드 개발자가 되기 위한 학습 과정을 정리하는 블로그

0개의 댓글