JavaScript’te Temel Programlama: Sözdizimi ve Kullanım
JavaScript, web geliştirmenin temel taşlarından biri olmasının yanı sıra, Node.js ile sunucu tarafı uygulamalardan mobil uygulamalara (React Native) ve hatta masaüstü uygulamalarına (Electron) kadar geniş bir alanda kullanılan dinamik ve çok yönlü bir programlama dilidir. Bu kılavuz, JavaScript ile programlama yapmanın temel yapı taşlarını, sözdizimini ve yaygın kullanım senaryolarını adım adım açıklayarak, sağlam bir temel oluşturmanızı hedeflemektedir.
Temel Sözdizimi (Syntax)
JavaScript kodları, tarayıcılarda veya Node.js gibi çalışma zamanı ortamlarında yorumlanan bir dizi ifade ve deyimden oluşur. Her JavaScript programı, değişken tanımlamaları, operatör kullanımları, kontrol akışı yapıları ve fonksiyon çağrılarının birleşimidir. Temel bir JavaScript programının genel yapısı aşağıdaki gibidir:
// Tek satırlık yorum
/* 
 * Çok satırlı yorum
 */
// Değişken tanımlamaları
let degiskenAdi = deger;
const sabitDeger = baskaDeger;
// İfadeler ve operatörler
let sonuc = degiskenAdi + 5;
// Kontrol akışı (koşullu ifadeler, döngüler)
if (sonuc > 10) {
    // Koşul doğruysa çalışacak kod
} else {
    // Koşul yanlışsa çalışacak kod
}
for (let i = 0; i < 5; i++) {
    // Döngü içinde çalışacak kod
}
// Fonksiyon tanımlamaları ve çağrıları
function fonksiyonAdi(parametre1, parametre2) {
    // Fonksiyonun yapacağı işlemler
    return parametre1 + parametre2;
}
let toplam = fonksiyonAdi(10, 20);
Detaylı Açıklama
Yukarıdaki sözdiziminde yer alan her bir bileşenin ne anlama geldiğini ve nasıl kullanıldığını detaylı olarak inceleyelim:
- 
        
Değişkenler: JavaScript'te verileri depolamak için değişkenler kullanılır. Değişkenler,
var,letveyaconstanahtar kelimeleriyle tanımlanır.
let: Blok kapsamlı bir değişken tanımlar. Değeri daha sonra değiştirilebilir.const: Blok kapsamlı, sadece bir kez değer atanabilen sabit bir değişken tanımlar. Atandıktan sonra değeri değiştirilemez.var: Fonksiyon kapsamlı bir değişken tanımlar. Modern JavaScript'te genellikleletveconsttercih edilir.
 - 
        
Veri Tipleri: JavaScript, farklı türde verileri işleyebilir. Başlıca veri tipleri şunlardır:
Primitive (İlkel) Tipler:
string(metin),number(sayı),boolean(mantıksal doğru/yanlış),null(boş değer),undefined(tanımsız),symbol,bigint.Reference (Referans) Tipler:
object(nesneler, diziler, fonksiyonlar).
 - 
        
Operatörler: Değişkenler ve değerler üzerinde işlemler yapmak için kullanılır. Önemli operatör türleri şunlardır:
Aritmetik Operatörler:
+,-,*,/,%(modül).Atama Operatörleri:
=,+=,-=,*=,/=.Karşılaştırma Operatörleri:
==(değer eşitliği),===(değer ve tip eşitliği),!=,!==,>,<,>=,<=.Mantıksal Operatörler:
&&(VE),||(VEYA),!(DEĞİL).
 - 
        
Kontrol Akışı: Programın hangi koşullarda hangi kod bloğunu çalıştıracağını belirler.
if...else if...else: Belirli koşullara göre farklı kod bloklarını çalıştırmak için kullanılır.switch: Tek bir ifadenin birden çok olası değeri için farklı kod blokları tanımlar.for,while,do...while: Belirli bir koşul karşılanana kadar veya belirli sayıda tekrarlamak için döngü yapıları.
 - 
        
Fonksiyonlar: Belirli bir görevi yerine getiren yeniden kullanılabilir kod bloklarıdır. Parametre alabilir ve bir değer döndürebilirler.
functionanahtar kelimesiyle veya ok fonksiyonu (arrow function) sözdizimiyle tanımlanabilirler.
 
Pratik Kullanım Örnekleri
Yukarıda açıklanan kavramları pekiştirmek için çeşitli kod örneklerini inceleyelim:
Örnek 1: Değişken Tanımlama ve Aritmetik İşlem
let fiyat = 150;
const KDV_ORANI = 0.18; // Sabit değer
let KDVtutari = fiyat * KDV_ORANI;
let toplamFiyat = fiyat + KDVtutari;
console.log("Ürün Fiyatı:", fiyat); // Çıktı: Ürün Fiyatı: 150
console.log("KDV Tutarı:", KDVtutari); // Çıktı: KDV Tutarı: 27
console.log("Toplam Fiyat:", toplamFiyat); // Çıktı: Toplam Fiyat: 177
Örnek 2: Koşullu İfade (if-else)
let kullaniciYasi = 20;
if (kullaniciYasi >= 18) {
    console.log("Ehliyet başvurusunda bulunabilirsiniz.");
} else {
    console.log("Ehliyet başvurusu için yaşınız uygun değil.");
}
let puan = 75;
let not;
if (puan >= 90) {
    not = "A";
} else if (puan >= 80) {
    not = "B";
} else if (puan >= 70) {
    not = "C";
} else {
    not = "D";
}
console.log("Öğrencinin Notu:", not); // Çıktı: Öğrencinin Notu: C
Örnek 3: Döngü Kullanımı (for)
let meyveler = ["elma", "armut", "muz", "çilek"];
for (let i = 0; i < meyveler.length; i++) {
    console.log("Benim favori meyvem: " + meyveler[i]);
}
/* Çıktı:
Benim favori meyvem: elma
Benim favori meyvem: armut
Benim favori meyvem: muz
Benim favori meyvem: çilek
*/
Örnek 4: Fonksiyon Tanımlama ve Çağırma
// İki sayıyı toplayan bir fonksiyon
function topla(sayi1, sayi2) {
    return sayi1 + sayi2;
}
let sonuc1 = topla(5, 7);
console.log("5 + 7 =", sonuc1); // Çıktı: 5 + 7 = 12
// İki sayıyı çarpan bir ok fonksiyonu
const carp = (sayi1, sayi2) => {
    return sayi1 * sayi2;
};
let sonuc2 = carp(4, 6);
console.log("4 * 6 =", sonuc2); // Çıktı: 4 * 6 = 24
Önemli Notlar
- 
        
Noktalı Virgül (;) Kullanımı:JavaScript'te ifadelerin sonunda noktalı virgül kullanmak genellikle iyi bir pratiktir, ancak bazı durumlarda JavaScript motoru otomatik olarak ekleyebilir (Automatic Semicolon Insertion - ASI). Yine de belirsizliği önlemek ve kodunuzu daha okunur kılmak için manuel olarak eklenmesi önerilir.
 - 
        
letveconstTercihi: Modern JavaScript'te değişken tanımlarken her zamanvaryerineletveyaconstkullanın. Bu, kapsam (scoping) sorunlarını azaltır ve kodunuzu daha öngörülebilir hale getirir. Değeri değişmeyecekseconst, değişecekseletkullanın.
 - 
        
Tip Zorlaması (Type Coercion):JavaScript, esnek bir dile sahip olduğundan, bazı durumlarda farklı veri tipleri arasında otomatik dönüşümler yapar. Örneğin,"5" + 2ifadesi"52"sonucunu verirken,"5" - 2ifadesi3sonucunu verir. Bu durum, beklenmedik hatalara yol açabileceği için dikkatli olunmalıdır. Kesin tip karşılaştırmaları için===(üç eşit) operatörünü kullanın.
 - 
        
Yorum Satırları:Kodunuzu açıklamak için yorum satırlarını kullanın. Tek satırlık yorumlar için//, çok satırlık yorumlar için/* ... */kullanabilirsiniz. Bu, kodunuzun başkaları (ve gelecekteki siz) tarafından daha kolay anlaşılmasını sağlar.
 - 
        
Hata Ayıklama (Debugging):Kodunuzdaki hataları bulmak içinconsole.log()fonksiyonunu sıkça kullanın. Bu, değişkenlerin değerlerini, fonksiyonların çağrılıp çağrılmadığını veya bir kod bloğuna girilip girilmediğini kontrol etmenize yardımcı olur.
 
        
                
            
            
Yorum yap
Yorumlar