ヒアドキュメント
ヒアドキュメント
var heredoc = function(){/* <h1>Hello, world!</h1> <span>テスト</span> <img src="https://www.google.co.jp/images/srpr/logo11w.png"> */}.toString().match(/\n([\s\S]*)\n/)[1];prototypeに組み込む場合は
Function.prototype.heredoc = function(){ return this.toString().match(/\n([\s\S]*)\n/)[1]; };上記を拡張してドキュメント中の ${name} を value に置換する。heredoc({name:value}) と利用する
Function.prototype.heredoc = function(hash){ var str = this.toString().match(/\n([\s\S]*)\n/)[1]; if(!hash){ return str; } else{ return str.replace(/\$\{(.+)\}/, function(m, c1){ return (c1 in hash) ? hash[c1] : ""; }); } };