JavaScript'te Koşullu İfadeler için En İyi Uygulamalar
Bu makale, JavaScript'teki koşullu ifadeler için en iyi uygulamaları açıklamaktadır.
YouTube Video
JavaScript'te Koşullu İfadeler için En İyi Uygulamalar
if
ifadeleri, JavaScript programlarında temel bir kontrol yapısıdır. Ancak, kod daha karmaşık hale geldikçe, if
ifadelerinin sayısı artabilir ve bu da kodu okumayı zorlaştırır. Bu kez, JavaScript'te if
ifadelerini doğru bir şekilde tasarlamak için en iyi uygulamalara dalış yapacağız, böylece okunabilirlik ve sürdürülebilirlik artacak.
Kodunuzu bayraklar kullanarak basitleştirin.
Birden fazla kriter içeren koşulları, boolean değerleri kullanarak basitleştirin.
Kaçınılması Gereken Örnekler
1// Bad Example
2if (isUserLoggedIn && user.hasPaymentInfo && user.cartItems.length > 0) {
3 console.log('Proceed to checkout');
4}
Geliştirilmiş Örnekler
Koşulları netleştirmek için bayrakları kullanın.
1// Good Example
2const canProceedToCheckout = isUserLoggedIn && user.hasPaymentInfo && user.cartItems.length > 0;
3
4if (canProceedToCheckout) {
5 console.log('Proceed to checkout');
6}
Koşullu İfadeleri Basit Tutun
Bir koşullu ifade karmaşık hale geldiğinde, kod okunabilirliği azalır, bu yüzden koşulu basit tutmak gereklidir.
Kaçınılması Gereken Örnekler
1// Bad example
2if (user && user.isLoggedIn &&
3 user.permissions && user.permissions.includes('admin')) {
4 console.log('Welcome, admin!');
5}
Geliştirilmiş Örnekler
Koşulu, belirli anlamlara sahip değişkenlere bölerek amacını netleştirebilirsiniz.
1// Good Example
2const isUserLoggedIn = user?.isLoggedIn;
3const hasAdminPermission = user?.permissions?.includes('admin');
4
5if (isUserLoggedIn && hasAdminPermission) {
6 console.log('Welcome, admin!');
7}
Mantıksal operatörlerin önceliğini netleştirin
JavaScript if
ifadelerinde, mantıksal operatörlerin önceliğini yanlış anlamak beklenmeyen davranışlara yol açabilir.
Kaçınılması Gereken Örnekler
1// Bad example
2if (isAdmin && isActive || isPremium) {
3 // The precedence of `&&` is higher than `||`,
4 // so this expression is interpreted as
5 // ((isAdmin && isActive) || isPremium)
6 console.log("Access granted");
7} else {
8 console.log("Access denied");
9}
Geliştirilmiş Örnekler
Operatörlerin önceliği belirsiz olduğunda, bunu netleştirmek için uygun parantezler kullanabilirsiniz.
1// Good Example
2if (isAdmin && (isActive || isPremium)) {
3 console.log("Access granted");
4} else {
5 console.log("Access denied");
6}
Kısa devre değerlendirmesinden yararlanma
JavaScript, hem &&
(VE) hem de ||
(VEYA) operatörleri için kısa devre değerlendirmesini destekler. Kısa devre değerlendirmesi, bir koşulun sonucu değerlendirme sırasında belirlendiğinde, geri kalan kısmın değerlendirilmemesi anlamına gelir.
VE
(&&
): Sol taraf yanlış olarak değerlendirildiğinde, sağ taraf değerlendirilmez ve değeri döndürülür.VEYA
(||
): Sol taraf doğru olarak değerlendirildiğinde, sağ taraf değerlendirilmez ve değeri döndürülür.
Kaçınılması Gereken Örnekler
1// Bad Example
2if (user?.someComplexFunction() && user?.isLoggedIn) {
3 // ...
4}
Geliştirilmiş Örnekler
Bu kodda, user?.isLoggedIn
false
olsa bile user?.someComplexFunction()
fonksiyonu çağrılır.
Kısa devre değerlendirmesini anlamak, gereksiz hesaplamalardan kaçınmanıza ve verimli kod yazmanıza yardımcı olabilir.
1// Good Example
2if (user?.isLoggedIn && user?.someComplexFunction()) {
3 // ...
4}
else
İfadelerinin Kullanımını Minimize Edin
else
ifadeleri, kodu takip ederken zihinsel yükü artırabilir. Bunun yerine, erken dönüşler kullanmayı düşünün.
Kaçınılması Gereken Örnekler
1// Bad Example
2function getUserRole(user) {
3 if (!user) {
4 return 'Guest';
5 } else {
6 return user.role;
7 }
8}
Geliştirilmiş Örnekler
Erken dönüşlerle koşulları netleştirin.
1// Good Example
2function getUserRole(user) {
3 if (!user) return 'Guest';
4 return user.role;
5}
Üçlü Operatörün Doğru Kullanımı
Basit koşullar için üçlü operatör kullanmak kodunuzu kısaltabilir. Ancak, iç içe yapılandırma veya karmaşık mantıktan kaçının.
Kaçınılması Gereken Örnekler
1// Bad Example
2let message = user.isLoggedIn ? user.isAdmin ?
3 'Welcome, admin!'
4 : 'Welcome, user!'
5 : 'Please log in.';
Geliştirilmiş Örnekler
Koşulları bölerek okunabilirliği önceliklendirin.
1// Good Example
2if (!user.isLoggedIn) {
3 message = 'Please log in.';
4} else if (user.isAdmin) {
5 message = 'Welcome, admin!';
6} else {
7 message = 'Welcome, user!';
8}
Varsayılan değerleri ve kısa devre değerlendirmesini kullanma
Dallanmayı azaltmak ve kodu basitleştirmek için varsayılan değerleri ve kısa devre değerlendirmesini kullanın.
Kaçınılması Gereken Örnekler
1// Bad Example
2let displayName;
3if (user && user.name) {
4 displayName = user.name;
5} else {
6 displayName = 'Guest';
7}
Geliştirilmiş Örnekler
Bu durumda, mantıksal operatörler kullanmak daha özlü hale getirir.
1// Good Example
2displayName = user?.name || 'Guest';
Switch
ifadelerini ne zaman kullanacağınızı düzgün bir şekilde ayırt edin.
Birden fazla koşul gerektiğinde, switch
ifadeleri niyetleri daha net hale getirebilir.
Kaçınılması Gereken Örnekler
1// Bad Example
2if (status === 'success') {
3 console.log('Operation was successful.');
4} else if (status === 'error') {
5 console.error('There was an error.');
6} else if (status === 'pending') {
7 console.log('Operation is still pending.');
8} else {
9 console.log('Unknown status.');
10}
Geliştirilmiş Örnekler
Switch
ifadelerini kullanmak kodu düzenlemenize yardımcı olabilir.
1// Good Example
2switch (status) {
3 case 'success':
4 console.log('Operation was successful.');
5 break;
6 case 'error':
7 console.error('There was an error.');
8 break;
9 case 'pending':
10 console.log('Operation is still pending.');
11 break;
12 default:
13 console.log('Unknown status.');
14}
Erken çıkış koşulları ile kontrol maddelerini kullanma
Koruyucu ifade, bir işlevden erken çıkmak için if
ifadelerini kullanan bir tekniktir.
Kaçınılması Gereken Örnekler
1// Bad Example
2function processOrder(order) {
3 if (order && order.isValid) {
4 if (order.items && order.items.length > 0) {
5 // Continue processing
6 }
7 }
8}
Geliştirilmiş Örnekler
İç içe yapıyı azaltmak için koruyucu ifadeleri kullanın.
1// Good Example
2function processOrder(order) {
3 if (!order?.isValid) return;
4 if (!order.items?.length) return;
5
6 // Continue processing
7}
Niyetleri netleştirmek için yorumlar yazın.
Karmaşık koşullar veya kritik dallar için, kodun amacını açıklamak adına öz ve net yorumlar ekleyin.
Kaçınılması Gereken Örnekler
1// Bad Example
2if (stock > 10 && !isRestricted) {
3 console.log('Available for purchase.');
4}
Geliştirilmiş Örnekler
Niyetleri netleştirmek için yorumlar ekleyin.
1// Good Example
2// The product must have at least 10 items in stock
3// and not be on the restricted list.
4if (stock > 10 && !isRestricted) {
5 console.log('Available for purchase.');
6}
Sonuç
JavaScript'in if
ifadelerini etkili bir şekilde kullanmak, kod okunabilirliğini ve sürdürülebilirliğini büyük ölçüde artırabilir.
Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.