ウェブ家の備忘録

ウェブデザイナーの備忘録

JavaScript : evalって重い

 下記のように無駄にeval使ってevalの処理速度を見てみました。

<script>
  //処理
  const start = performance.now();
  process();
  console.log('処理時間:'+(performance.now()-start)+'ms');
  
  //計測したいJSをFunction中に記載
  function process(){
    
    let proEnd=100000;
    
    let a={};
    
    /* eval */
    //for(let x=1; x<=proEnd; x++){eval('a['+x+']= "value'+x+'";');}
    
    /* 連想配列 */
    for(let y=1; y<proEnd; y++){a[y] = "value" + y;}
    
  }
</script>

 JSBinにて処理時間を測定した所、
・evalは180ms前後
・eval使ってない方は18ms前後
 動作に10倍の差が出ました。
 SEO的にもevalは使わない方がいいですね。