読者です 読者をやめる 読者になる 読者になる

here document(ヒアドキュメント)

JavaScript

JavaScriptにないヒアドキュメントですが,複数行にまたがる文字列はどう書く?

例えば

<html>
<body>
</body>
</html>

上記のような文字列を表現する場合ヒアドキュメントが使える言語であれば(例えばperl)

$s= <<EOS;
<html>
<body>
</body>
</html>
EOS

JavaScriptにはヒアドキュメントが無いので

var 小学生 = '<html>\n';
小学生 += '<body>\n';
小学生 += '</body>\n';
小学生 += '</html>';
alert(小学生);

var 中学生 = '\
<html>\n\
<body>\n\
</body>\n\
</html>\n\
';
alert(中学生);

var 高校生 = [
  '<html>',
  '<body>',
  '</body>',
  '</html>'
].join('\n');
alert(高校生);

せかちゃんのようにjoinさせるのが一番奇麗かな.
昔のソースを見たら私は中学生戦法を使っていたものを見つけました.

もっと大人な書き方知ってる人教えて下さい.




ちなみにrubyのヒアドキュメントで複数行に渡るコマンドを書ける事は知らなかった...

s= <<`EOS`
date
echo "--------------------"
ps
EOS

一行に複数のヒアドキュメントが書けることも...(詳細)

print <<FIRST, <<SECOND
   これは一つめのヒアドキュメントです。
   まだ一つめです。
FIRST
   この行からは二つめのヒアドキュメントです。
   この行で終わります。
SECOND