JavaScriptで文字列書式付き出力
JavaScriptには,書式付きで文字列を生成してくれる関数がない.CでいうsprintfやJavaでいうformatのようなもの.これがないせいで,HTMLのマークアップ文字列に値を埋め込むのがめんどくさいこと限りなし.
ということで,Stringクラスを拡張.
if (!String.prototype.escape) { String.prototype.escape = function (o) { return this.replace(/{([^{}]*)}/g, function (a, b) { var r = o[b]; return typeof r === 'string' || typeof r === 'number' ? r : a; } ); }; }
文字列中に{key}があれば,引数の連想配列{key:value}によって,valueに置換される.
また,{0}等の数値であるばあい,可変の引数の順番にそれに置き換わる.