'자바스크립트에서 여러줄의 문자열 선언하기' 글을 페이스북에 공유했는데, 많은 좋은 의견이 올라왔습니다.
그래서 정리를 하려고 합니다. 자바스크립트에서 템플릿이나 설정파일 등이 필요하실 때 사용하면 유용할 듯 합니다.
커멘트 트릭
function fnTemplate($template) {
return $template.toString().replace(/^[^\*]+\*\s*/, "").replace(/\s*\*\/\}$/, "");
}
var template = fnTemplate(function() {/*
Hello World !
*/}); // Hello World !
함수객체의 toString() 함수가 주석까지 출력해주기 때문에 가능한 방법입니다.
정규식으로 주석문자(/**/)를 제거하고 본문만 가져옵니다.
<script>태그를 이용한 방법
<script type="text/template" id="template">
Hello World !
</script>
<script type="text/javascript">
var template = document.getElementById("template").text;
alert(template); // Hello World !
</script>
템플릿용 <script>태그를 하나 만들고, type을 대강 지정해줍니다.
그리고 본 script에서 엘리먼트를 잡아 텍스트를 출력하면 완성!
개인적으로 자바스크립트는 자바 등 다른 언어들에 비해서 자유도가 높은 느낌이 듭니다.
뭐 설계자의 사정이나, 환경적, 시대적 영향 등이 있었겠지만
덕분에 특이한(?) 여러 기법들이 나올 수 있는 것 같네요. (물론 그로인한 단점도 있습니다만. ㅎ_ㅎ)
출처 https://www.facebook.com/groups/html5jsstudy/470917723024399/