Döngüde Regex Yeniden Derleme (ARCH3073)
Anahtar typescript.performance.regex-recompiled-in-loop · Önem warning · Kategori performance
Aynı regex desenini her yinelemede yeniden oluşturmak gereksiz derleme maliyeti ekler; desen sabitse döngü dışında bir kez derlenmelidir.
Hatalı
Bölüm başlığı “Hatalı”function findMatches(lines: string[]): string[] { const result: string[] = []; for (const line of lines) { const re = new RegExp("\\d{3}-\\d{4}"); if (re.test(line)) result.push(line); } return result;}const PHONE_RE = /\d{3}-\d{4}/;
function findMatches(lines: string[]): string[] { const result: string[] = []; for (const line of lines) { if (PHONE_RE.test(line)) result.push(line); } return result;}Düzeltme
Bölüm başlığı “Düzeltme”Sabit regex desenlerini döngü dışında bir kez derleyip yeniden kullanın.