Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
													Tags
													
											
												
												- 정보처리기사 실기 기출문제
 - minikube
 - kotlin coroutine
 - golang
 - 바이브코딩
 - AI
 - AWS EKS
 - SRE
 - APM
 - 코틀린 코루틴의 정석
 - 기록으로 실력을 쌓자
 - Linux
 - MySQL
 - Java
 - kotlin querydsl
 - aws
 - 컨텍스트 엔지니어링
 - 티스토리챌린지
 - 공부
 - CKA 기출문제
 - CKA
 - go
 - tucker의 go 언어 프로그래밍
 - Spring
 - kotlin
 - 오블완
 - Kubernetes
 - Pinpoint
 - PETERICA
 - CloudWatch
 
													Archives
													
											
												
												- Today
 
- Total
 
피터의 개발이야기
[JavaScript] 템플릿 리터럴 사용법 본문
반응형
    
    
    
  
템플릿 리터럴은 내장된 표현식을 허용하는 문자열 리터럴입니다. 여러 줄로 이뤄진 문자열과 문자 보간기능을 사용할 수 있습니다. 이전 버전의 ES2015사양 명세에서는 "template strings" (템플릿 문자열) 라고 불려 왔습니다.
Syntax
`string text`
`string text line 1
 string text line 2`
`string text ${expression} string text`
tag `string text ${expression} string text`
사용법
템플릿 리터럴은 이중 따옴표 나 작은 따옴표 대신 백틱(` `) 을 이용합니다. 템플릿 리터럴은 또한 플레이스 홀더를 이용하여 표현식을 넣을 수 있는데, 이는 $와 중괄호( $ {expression} ) 로 표기할 수 있습니다. 플레이스 홀더 안에서의 표현식과 그 사이의 텍스트는 함께 함수로 전달됩니다. 기본 함수는 단순히 해당 부분을 단일 문자열로 연결시켜 줍니다. 템플릿 리터럴 앞에 어떠한 표현식이 있다면(여기에서는 태그), 템플릿 리터럴은 "태그가 지정된 템플릿"이라고 불리게 됩니다. 이 때, 태그 표현식 (주로 함수)이 처리된 템플릿 리터럴과 함께 호출되면, 출력하기 전에 조작할 수 있습니다. 템플릿 리터럴 안에서 백틱 문자를 사용하려면 백틱 앞에 백슬러쉬(\)를 넣습니다.
여러 라인 사용
console.log("string text line 1\n"+
"string text line 2");
console.log(`string text line 1
string text line 2`);
복잡한 구문정리
${} 사용하면 훨씬 간결해진다.
var classes = 'header'
classes += (isLargeScreen() ?
   '' : item.isCollapsed ?
     ' icon-expander' : ' icon-collapser');
const classes = `header ${ isLargeScreen() ? '' :
    (item.isCollapsed ? 'icon-expander' : 'icon-collapser') }`;
const classes = `header ${ isLargeScreen() ? '' :
 `icon-${item.isCollapsed ? 'expander' : 'collapser'}` }`;
문자열 그대로 출력하기
function tag(strings) {
  console.log(strings.raw[0]);
}
tag`string text line 1 \n string text line 2`;
// logs "string text line 1 \n string text line 2" ,
// including the two characters '\' and 'n'
raw string 을 생성하기 위한 String.raw() method가 존재합니다.
var str = String.raw`Hi\n${2+3}!`;
// "Hi\n5!"
str.length;
// 6
str.split('').join(',');
// "H,i,\,n,5,!"
() 없이 함수형태를 직접 호출할 수도 있다.
function latex(str) {
 return { "cooked": str[0], "raw": str.raw[0] }
}
latex`\unicode`
// { cooked: undefined, raw: "\\unicode" }
참조는 여기
반응형
    
    
    
  
			  Comments