実際に使ってみるテンプレートの形式を指定できるようにする実際に使ってみるまとめはじめにJadeやEJSなどのテンプレートエンジンを導入するほどでもなく、underscore.js(lodash.js)を導入していない場合に使える、「どシンプル」なテンプレート文字列の展開をご紹介します。実際にどんな内容か、具体例をあげるとこんな感じです。Bob引数にテンプレート文字列とオブジェクトを受け取って、文字列内の${}で括られたキーに対応する値を展開する、よくみるやつになります。今回は上記でいうtemplate関数の実装方法についてです。});}たった5行、短くていい感じです。やっていることは単純で、${}でマッチする文字列を検索${}の中の文字列コールバックで受け取る受け取った文字列をキーに、対応する値をチェック存在すれば、対応する値で置換する存在しなければ、空文字で置換するとなります。Bob${name}がちゃんとBobに置き換わりました!テンプレートの形式を指定できるようにする上記のtemplate関数では、${}で括るのを固定していましたが、例えば%key%みたいな形式にしたいこともあると思います。手を加えて、これを引数で指定できるようにしたいと思います。});}template関数の3つ目の引数で開始文字、4つ目の引数で終了文字を指定できるようにしてみました。デフォルトでは先ほどの${}が使用されます。正規表現を使った検索を行うので、変なマッチング起こらないようにこれらをエスケープする必要があります。そのため、PHPではおなじみのpreg_quote関数を追加してみました。(ソースはphpjsのものを使用しています。Bob%%で括った場合にも対応出来ました!まとめこのくらいのものなら、TypeScriptやCoffeeScript、ES6に準規したトランスパイラなんか使っていればあんまり必要無いかもしれませんが、ちょっとしたコードにはまだまだ使えるかもです。先日コードを書いていて、「あれ?これ前にも書いたな??」ってなったので、またそうならないために記事にしてみました。この記事のコメントメールアドレスが公開されることはありません。お気軽にコメントどうぞ。コメントをキャンセル渋谷でWebサイトを作っています。ちなみに、「ダッケル」はドイツ語でダックスフンドの事だそうです。