prototype.js 1.5 からの新機能 Template の使い方
JavaScript での変数を使った文字列の作成は何かとめんどくさいですね。prototype.js では 1.5_pre0 から Template という簡易テンプレートとして使えるクラスが加わりました。相変わらずドキュメントはソースと test 嫁なので簡単な使い方を紹介します。
まずは Template となる文字列を new Template で作ります。Template のリテラルは #{}です*1 。
var t = new Template('#{foo}, #{bar}!');
次に作成した Template インスタンスの evaluate 関数を呼び出し、引数として Hash(Object) を渡します。
t.evaluate({
foo: 'hello',
bar: 'world'
});
// hello, world!
もしテンプレートを使い回さず、一度限りの文字列置換的な用途で使いたい場合は、
new Template('#{foo}, #{bar}!').evaluate({
foo: 'hello',
bar: 'world'
});
// hello, world
と使うこともできます。同じパターンを使い回すときは Template のインスタンス作って使い回すと、結構訳に経つこともあるかもしれませんね。
posted with amazlet on 06.04.20
増井 雄一郎 深津 貴之 川崎 有亮 台場 圭一 WINGSプロジェクト 佐藤 真介
技術評論社 (2006/03/23)
*1:Template のコンストラクタの第二引数に regexp を渡すことで変えられます