【JS/TS パフォーマンス】lengthを毎回参照するよりキャッシュする

【JS/TS パフォーマンス】lengthを毎回参照するよりキャッシュする

forループの条件式でarr.lengthを毎回参照すると、毎回プロパティアクセスが発生します。この小さなオーバーヘッドも、大規模なループでは無視できないパフォーマンスの低下につながります。

パフォーマンス #Javascript#Typescript

【JS/TS パフォーマンス】lengthを毎回参照するよりキャッシュする

サムネイル

forループの条件式でarr.lengthを毎回参照すると、毎回プロパティアクセスが発生します。この小さなオーバーヘッドも、大規模なループでは無視できないパフォーマンスの低下につながります。

更新日: 8/25/2025
SOLUTION - 解決策

lengthを毎回参照するよりキャッシュの方が約1.1倍高速
配列の長さを変数にキャッシュすることで、プロパティアクセスのコストを削減できます。

前提

  • ループ中に配列の長さが変わらない場合
  • 大規模なループ処理の場合
  • わずかな性能向上も重要な場合

実際のコード

// 遅い
for (let i = 0; i < arr.length; i++) {}
// 速い(約1.1倍)
const len = arr.length;
for (let i = 0; i < len; i++) {}

検索

検索条件に一致する記事が見つかりませんでした