trycode
Template literal(템플릿 리터럴) 본문
Template literal(템플릿 리터럴)
대충 아래와 같은 코드가 있다고 치면
var positions=[{y:20, x:10}, {y:100, x:30}];
var contents="좌표설정구간";
var tags='<div style="top:'+ positions[0].y+'px;left:'+positions[1].x+'px">'+ contents +'</div>';
값과 문자열 간의 구분을 할때 저놈에 따옴표는 엄청 스트레스이다.
ES6에선 아래와 같이 깔끔하게 해결해 주신다.
`string text`
`string text line 1 string text line 2`
`string text ${expression} string text`
tag `string text ${expression} string text`
아래는 모질라 문서의 설명부분
emplate literal 들은 double 또는 single quiotes 대신 back-tick (` `) character
아래 그림처럼 키보드 맨 좌측 상단에 (`)표시 grave accent
로 감싸집니다.
이들은 Dollor 사인과 중괄호( ${expression} ) 로 표기됩니다.
placeholder 내부의 expression 들과 텍스트는 함께 function 으로 전달됩니다.
default function 은 단지 부분들을 single string 으로 합칩니다.
template literal (여기서는 tag) 이전에 expression 이 있다면, template string은 "tagged template literal" 이라고 불립니다.
그러한 경우에, tag expression (보통은 function) 은, 출력 전에 조작할 수 있는 processed template literal 을 필요로 합니다. template literal 내에서 back-tick 을 escape 하기 위해서, back-tick 앞에 backslash \ 를 넣습니다.
모질라 개발자문서참고 - https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Template_literals
Template literals - JavaScript | MDN
템플릿 리터럴은 내장된 표현식을 허용하는 문자열 리터럴입니다. 여러 줄로 이뤄진 문자열과 문자 보간기능을 사용할 수 있습니다. 이전 버전의 ES2015사양 명세에서는 "template strings" (템플릿 문
developer.mozilla.org
'javascript' 카테고리의 다른 글
NVM ( node version manager ) (0) | 2021.01.19 |
---|---|
spread operator ( 스프레드 연산자 ) (0) | 2021.01.19 |
import 구문 - javascript (0) | 2021.01.19 |
ES6 Arrow Function (0) | 2021.01.19 |
document height (cross browser) (0) | 2021.01.19 |