본문 바로가기
컴퓨터/웹 : HTML

[EJS] 3개의 ejs태그 간단 정리(<%- %>와 <%= %> 차이)

by 도도새 도 2022. 12. 27.

EJS 3개 정리

 

EJS를 만지다보면 세 개의 대표적인 태그를 만나게 된다. 그것은 바로

<% %>

<%- %>

<%= %>

이 세가지 이다. 우선 EJS란 쉽게 HTML내에서 자바스크립트 코드를 실행할 수 있도록 도와준다고 보면 된다.

 

각 태그의 기능은 아래와 같다.

<% :

소스에 보이지 않는 흐름을 제어하는 코드를 넣는다. 이를테면 <% if(boolFalg){ ... } %>와 같이 쓸 수 있다. 

<% for(int i = 0; i < 5; i ++) { %>

<div> 출력 </div>

<% } %>

이런 식이면 출력이라는 div가 5개 생긴다.

 

<%- :

HTML 태그 및 이스케이프 문자들을 그대로 출력한다. 예를 들어 띄어쓰기는 \n로 변환되지 않고 그대로 띄어쓰기로 출력된다. 

예.

  const jsonSring = '<%- JSON.stringify(obj) %>';

obj라는 오브젝트를 JSON형태 문자열로 변환한다음 저장한다. 이 때, 아래서 설명할 <%=가 아닌 <%-를 사용하여야지 ""등이 예약문자로 바뀌지 않고 그대로 저장된다.

 

<%= :

위의 태그와 같은 역할을 하지만 이스케이프 문자를 포함한다. 즉, "나 " "를 그대로 저장하지 않고 예약 문자로 바꿔 저장 혹은 출력한다.

댓글