見出し画像

JavaScript文字列テンプレート(ロジック搭載式)

var t=[], tmp='<td id=\'{id}\'>{c}</td>';
for(var i=0,l=100;i<l;i++){
  t.push(tmp.replace(/\{(.*?)\}/g, function(m,$){
    return {'id':i, 'c':i%2==0?1:0}[$];
  });
}
document.body.innerHTML='<table><tr>'+t.join('</tr><tr>')+'</tr></table>';

tmp : テンプレート文字列
{id} : キーワード ID
{c} : キーワード コンテンツ

tmp.replace( )
置換関数


function(m,$){ }
置換実行部分


{ "id" : i, "c" : i%2==0 ? 1 : 0 }[ $ ]
ロジック搭載部および置換される文字:オブジェクトにテンプレートのキーワードがあれば書き換えられる

$:置換されるキーワード

この記事が気に入ったらサポートをしてみませんか?