JavaScript にはヒアドキュメントが存在しないので無理やり再現するしか無いらしい。
方法としては、 Function.toString()
を呼ぶと関数の定義がコメント部分も含めてテキストとして取れる(!)ので、
次のように複数行コメント中にヒアドキュメントを書いて正規表現でマッチさせて取得する。
var doc = (function() { /*
<ul>
<li>不動産</li>
<li>自動車</li>
<li>掲示板</li>
<li>ブログ</li>
</ul>
*/ }).toString().match(/\/\*([^]*)\*\//)[1];
console.log(doc);
デメリットもあってなんとも言えない…
- 空白などは実装依存(http://es5.github.io/#x15.3.4.2)
- minifier とかプリプロセッサとかで問題になりそう