티스토리 뷰
ES6에서 나온 문법 중에 Template Literal이라고 있다.
백쿼터 `
`란 백쿼터를 사용하는 문법으로 대게 줄바꿈 문자열을 간단하게 사용할 때 사용한다.
예를 들어서
<ul>
<li>HI</li>
</ul>
를 기존에는
let template = '<ul>' + '<li>HI</li>' + '</ul>';
let template = '<ul>\n<li>HI</li>\n</ul>';
으로 사용했다.
let template = '<ul>\
<li>HI</li>\
</ul>';
이것도 가능하긴 하다.
ES6에서는
let template = `
<ul>
<li>HI</li>
</ul>
`;
이 가능하다.
TEMPALTE LITERAL
const hello = "hello";
let template = `
<ul>
<li>${hello}</li>
</ul>
`;
문자열에 바로 변수가 넣는 것이 가능하다.
응용 변수만 넣을 수 있나?
아니다.
let friends = [{name:'라이언',age:5},{name:'라이언2',age:2},{name:'라이언3',age:3}];
let template = `<ul>${friends.map( freind => `<li>이름:${freind.name} , 나이: ${freind.age}</li>`).join('\n')}</ul>`
결과물: '<ul>\n<li>이름:라이언 , 나이: 5</li>\n<li>이름:라이언2 , 나이: 2</li>\n<li>이름:라이언3 , 나이: 3</li></ul>'
놀랍게도 변수에 map이나 forEach등이 가능하니 응용이 다채로울듯하다.
응용: 동적 할당
웹 사이트의 경우 동적으로 할당되는 요소들이 많은 데, 이 HTML을 관리하는 것이 쉽지는 않다.
숨어있다는 표현이 올바를 것 같은데, 어느 곳에 있는지 찾기가 어려울 때가 빈번하게 있다.
이런 부분들이 모여 코드 개발 속도를 저하되게 만드는데 이를 해결 방법이 있다.
물론 위 문법으로 해결한다기 보다는 Dom요소에 기대에 해결한다는 것이다.
Html 문서 내 body 태그 뒤에 이 script를 넣어둔다.
그리고 해당 태그 요소를 Dom으로부터 가져와서 js로 실행하면 동적 할당 시에 유용하게 사용할 수 있다.
'코딩 관련 > 자바스크립트' 카테고리의 다른 글
getDay(), getDate() (0) | 2023.10.19 |
---|---|
Map 섞어 쓰면 에러 발생 (0) | 2023.10.19 |
배열 초기화 & Json 값만 배열로 변경하기 (0) | 2023.10.19 |
페이지 재로딩 시 상단 이동 (0) | 2023.10.19 |
Console.log 그렇게 쓰지 마요.. (0) | 2023.10.19 |