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
- 렉시컬 환경
- relatedTarget
- 자바스크립트
- 비동기 작업
- 호출 스택
- 넘블
- 호이스팅
- 번들러
- 웹팩
- 클론코딩
- AbortController
- 함수형
- 화살표 함수
- 로드마크
- 실행 컨택스트
- 유사배열
- Lexical environment
- 마이크로태스크
- 이벤트 루프
- fetch 취소
- 매클로태스크
- 이터러블
- pushstate
- localtunnel
- JavaScript
- hoisting
- Call stack
- 로컬터널
- webpack
- debounce
Archives
- Today
- Total
내가 보려고 만든 개발 공부 일지
Tagged Templates 본문
먼저 Template literals 이란 백틱 ` 을 이용해서 스트링을 표현하는 ES6 문법이다.
기본적으로 스트링은 큰/작은 따옴표를 사용해서 표현하는데, 이는 중간에 변수값이 들어가거나 텍스트가 길어져서 개행을 하고플땐
항상 + 로 연결해줘야하고 이는 일일이 + 로 나눠주어야 하는 매우 불편한 작업을 동반하게된다.
그러나 template literal 은 ` ` 안에 ${} 문을 사용해 스크립트 변수를 바인딩할 수 있고 개행도 그냥 엔터로 (실제개행) 인식하기 때문에 편리하다.
이 백틱 문법을 한층 더 고급스럽게 사용법하는 방법이 Tagged templates 이다.
Ex )
var person = 'ks';
var age = 19;
function myTag(strings, personExp, ageExp) {
...
return ...
}
var output = myTag`that ${ person } is a ${ age }`;
console.log(output);
위처럼 myTag` ~~~ ` 이렇게 쓰면 정의해놓은 myTag 함수가 호출되고
첫번째 인자는 표현식을 제외한 스트링값의 배열, 두번째 인자는 표현식들이 쓰인만큼 나열 되는데 이를 아래처럼 rest 문법으로 나타낼 수도 있다.
function myTag(strings, ...exps) {
...
}
그리고 이 함수에서 원하는 형태의 값을 리턴해주는 식으로 사용한다. (Styled component 가 tagged templates 사용 예)
참고 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Template_literals
'Javascript' 카테고리의 다른 글
call() 과 apply() 의 this 바인딩 (0) | 2021.07.02 |
---|---|
Falsy / Truthy 한 값 (0) | 2021.07.02 |
Javascript 객체의 복사 (0) | 2021.07.02 |
event 제어와 좌표 (0) | 2021.07.02 |
form 태그의 target 속성 (0) | 2021.07.02 |
Comments