latest log

酩酊状態で書いたエンジニアポエムです。酩酊状態で読んでください。

JavaScript で ヒアドキュメントもどき

脳内棚卸

JavaScript でヒアドキュメントもどき

JavaScript にはヒアドキュメントがありませんが、改行の前にエスケープ文字(¥, バックスラッシュ)を置くことで、次の行とつながります。

var str;

str = "\
hoge\
huga\
piyo\
";

alert( str ); // -> "hogehugapiyo";

文字列内での変数展開

JavaScript には文字列内での変数展開もありませんが、次のようにすることでテンプレートライブラリの代りになります。
急いでいる時は、これぐらいのスニペットでも十分実用的だったりします。

var name = "CEO",
    job = "新しいアプリ";

alert( "あー、@@ がさっきやってきて、@@ まだー? って言ってましたよ".at(name, job) ); // -> "あー、CEO がさっ..."

function String_at() {
    var i = 0, args = arguments;
    return this.replace(/@@/g, function() { return args[i++]; });
}
String.prototype.at || Object.defineProperty(String.prototype, "at", { value: String_at });