Experiment

앵버박사 2013. 11. 6. 18:10

'자바스크립트에서 여러줄의 문자열 선언하기' 글을 페이스북에 공유했는데, 많은 좋은 의견이 올라왔습니다.

그래서 정리를 하려고 합니다. 자바스크립트에서 템플릿이나 설정파일 등이 필요하실 때 사용하면 유용할 듯 합니다.



커멘트 트릭

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/