JavaScript'te Düzenli İfadelerin Kullanımını Optimizasyonu
Düzenli ifadeler çok ağır ve nispeten yavaş çalışan şeylerdir. Alternatif bir çözüm olduğunda, mümkünse onu kullanmak tercih edilir.
Bir örnekle bakalım. Diyelim ki bir stringin ünlem işareti ile başlayıp başlamadığını kontrol etmemiz gerekiyor. Bir programcı bu sorunu regex ile çözmüş:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Ancak, böyle bir sorun çok daha hızlı çalışan bir çözüme sahiptir:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Aşağıdaki kod, bir string içinde
'33' alt stringinin varlığını kontrol eder.
Optimizasyonu gerçekleştirin:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Aşağıdaki kod, stringin
'.html' ile bitip bitmediğini kontrol eder.
Optimizasyonu gerçekleştirin:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Aşağıdaki kod sondaki boşlukları keser. Optimizasyonu gerçekleştirin:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);