(JavaScript’in kafa yapısını anlamanın en kestirme yolu)
JavaScript öğrenirken yaşanan evrensel bir an vardır:
“Bu değişken sayıydı… neden string oldu?”
“Ben buna null verdim, niye object diyor?”
“Bu çalıştı ama… neden?”
İşte bu yazı, JavaScript’in veri tiplerini sadece tanıtmak için değil,
nasıl düşündüğünü anlaman için var.
📦 Veri Tipi Nedir? (Kısa Ama Hayati)
Veri tipi şunu söyler:
“Bu değişken nasıl bir şey tutuyor ve JavaScript onunla nasıl davranmalı?”
Bir değişkene:
- Metin verirsen → “Ben bunu yazı gibi ele alırım”
- Sayı verirsen → “Toplarım, bölerim”
- Boolean verirsen → “Karar mekanizmasına sokarım”
Yanlış veri tipi = beklenmeyen sonuç 🎭
1️⃣ String – Metinlerin Kralı 👑📝
String = yazı
JavaScript’te yazı dediğimiz her şey string’tir.
let isim = "Cansu";
let sehir = 'İstanbul';
let mesaj = `Merhaba Dünya`;
🧠 Burada Ne Oluyor?
- Tırnak içindeki her şey string
- Tek tırnak, çift tırnak fark etmez
`(backtick) → template literal
🔥 Template Literal = Seviye Atlama
let yas = 25;
let bilgi = `Ben ${yas} yaşındayım`;
console.log(bilgi);
🟢 Açıklama:
${}içine değişken veya JS kodu yazabilirsin- String + string birleştirme derdi biter
Eski usul:
"Ben " + yas + " yaşındayım"
Yeni usul:
`Ben ${yas} yaşındayım`
JavaScript bile yeni usulü seviyor 😄
⚠️ Pratik İpucu: String + Number Tuzağı
console.log("5" + 2); // "52"
JavaScript diyor ki:
“Madem biri string, ben hepsini string yaparım.”
Ama:
console.log(5 + 2); // 7
📌 Kural:
Bir yerde string varsa, JavaScript toplamaz, birleştirir.
2️⃣ Number – Tek Tip Ama Çok İş 🧮
JavaScript’te:
103.14-5
Hepsi number
let tamSayi = 10;
let ondalik = 2.5;
let negatif = -7;
🧠 Açıklama
JavaScript’te:
intfloat
ayrımı yok → tek tip: number
🤯 Meşhur Ondalık Problemi
let sonuc = 0.1 + 0.2;
console.log(sonuc); // 0.30000000000000004
Bu JavaScript’in suçu değil, bilgisayar matematiği suçu 😅
✅ Çözüm İpucu
let sonuc = (0.1 + 0.2).toFixed(2);
console.log(sonuc); // "0.30"
Ya da:
let sonuc = Math.round((0.1 + 0.2) * 10) / 10;
🛠️ Faydalı Number Metotları
Number("10"); // 10
parseInt("10.5"); // 10
parseFloat("10.5"); // 10.5
📌 Kullanım Alanı:
- Formdan gelen veriler (hep string gelir!)
- API cevapları
- Hesaplamalar
3️⃣ Boolean – Karar Mekanizması ⚖️
Boolean sadece iki şey bilir:
truefalse
let girisYaptiMi = true;
let adminMi = false;
🧠 Nerede Kullanılır?
- if / else
- koşullar
- kontrol mekanizmaları
if (girisYaptiMi) {
console.log("Hoş geldin!");
} else {
console.log("Giriş yapmalısın!");
}
JavaScript burada net:
“Doğruysa gir, yanlışsa çık.”
🎯 Truthy & Falsy (Çok Önemli!)
JavaScript’te her şey boolean gibi davranabilir.
❌ Falsy değerler:
false
0
""
null
undefined
NaN
Bunların dışındaki her şey → truthy
if ("merhaba") {
console.log("Çalışır");
}
4️⃣ Undefined – “Henüz Bir Şey Yok” ❓
let x;
console.log(x); // undefined
🧠 Ne Demek?
- Değişken var
- Ama değer atanmadı
JavaScript:
“Bunu tanıyorum ama içi boş.”
⚠️ En Sık Hata
function selamla() {
}
console.log(selamla()); // undefined
Çünkü:
returnyok- JavaScript otomatik
undefineddöndürür
5️⃣ Null – Bilerek Boş Bırakmak 🚫
let kullanici = null;
🧠 Null vs Undefined
| Durum | Anlam |
|---|---|
| undefined | Henüz atanmadı |
| null | Bilerek boş |
API’lerde çok görürsün:
{
"telefon": null
}
Yani:
“Bu alan var ama şu an boş.”
6️⃣ Object – JavaScript’in Kalbi ❤️
Object = anahtar + değer
let kisi = {
isim: "Cansu",
yas: 25,
aktif: true
};
🧠 Okuma & Yazma
console.log(kisi.isim); // Cansu
kisi.yas = 26;
🎯 Neden Önemli?
- API verileri
- Kullanıcı bilgileri
- Ayarlar
- JSON
Her yerde object var.
7️⃣ Array – Listelerin Efendisi 📚
let renkler = ["kırmızı", "mavi", "yeşil"];
🧠 Index Mantığı
renkler[0]; // kırmızı
renkler[1]; // mavi
Index 0’dan başlar (klasik JS hareketi)
🔥 En Çok Kullanılan Array Metotları
renkler.push("sarı"); // ekle
renkler.pop(); // sondan sil
renkler.forEach(renk => {
console.log(renk);
});
let buyukler = renkler.filter(r => r.length > 4);
Array bilmeyen JS yazamaz, bu net.
8️⃣ typeof – “Bu Ne Tip?” Dedektifi 🕵️♂️
typeof "merhaba"; // string
typeof 10; // number
typeof true; // boolean
🤡 JavaScript Klasiği
typeof null; // object
Evet… yanlış.
Ama artık dokunamıyorlar, geriye dönük uyumluluk 😅
🧠 Altın İpuçları (Burayı Kaydet)
✅ Formdan gelen her şey string
✅ Array ve object referans tiptir
✅ == yerine === kullan
✅ null ve undefined farkını bil
✅ Veri tipini bilmeden kod yazma
