Skip to main content

JavaScript’te Veri Tipi Dönüştürme 🔄

JavaScript’te veri tipleri, verinin nasıl saklandığını ve üzerinde hangi işlemlerin yapılabileceğini belirler.
Bazı durumlarda JavaScript veri tiplerini kendiliğinden (implicit) dönüştürür; ancak profesyonel projelerde manuel (explicit) dönüşüm yapmak daha güvenilirdir.


🎯 Bu Rehberde Ne Öğreneceksiniz

  • Veri tipi dönüşümünün ne olduğunu ve neden önemli olduğunu
  • Otomatik (implicit) ve manuel (explicit) dönüşüm farkını
  • String, Number ve Boolean dönüşüm yöntemlerini
  • String(), Number() ve Boolean() metotlarını nasıl kullanacağınızı
  • Hatalı dönüşümlerde NaN ve undefined gibi sonuçları nasıl yöneteceğinizi

1️⃣ JavaScript’te Tip Dönüşümü Nedir?

JavaScript, dinamik tipli bir dildir.
Bu, değişkenlerin türünün program çalışırken otomatik olarak değişebileceği anlamına gelir.
Örneğin, "15" - "10" gibi işlemler JavaScript tarafından otomatik dönüştürülür:

"15" - "10"; // 5
"15" % "10"; // 5

Ama dikkat: + operatörü toplama mı, yoksa metin birleştirme mi yapacak? Eğer iki operand da string ise sonuç birleştirme (concatenation) olur:

"2" + "3"; // "23"

💡 Tavsiye: Beklenmedik sonuçlardan kaçınmak için manuel dönüşüm yapın.


2️⃣ Otomatik Dönüşüm (Implicit Conversion)

Bazı durumlarda JavaScript, verileri arka planda kendi dönüştürür. Bu işleme type coercion denir.

alert(8.5); // "8.5" (string olarak görüntülenir)

alert() sadece string alır, ama JavaScript otomatik olarak sayıyı string’e çevirir.

Bazen bu faydalı olsa da, özellikle kullanıcı girdileriyle çalışırken manuel kontrol daha güvenlidir.


3️⃣ String’e Dönüştürme

Bir değeri string’e dönüştürmek için iki yöntem vardır:

🔹 String() Fonksiyonu

String(true); // "true"
String(49); // "49"

Veya bir değişkeni dönüştürüp türünü kontrol edebiliriz:

let yil = 2001;
console.log(typeof yil); // "number"

yil = String(yil);
console.log(typeof yil); // "string"

🔹 toString() Metodu

Herhangi bir sayıyı veya Boolean değeri doğrudan string’e çevirebilir:

(1776).toString();   // "1776"
(false).toString(); // "false"
(100 + 200).toString(); // "300"

✅ String() genellikle tercih edilir çünkü null ve undefined için hata vermez.


4️⃣ Sayıya Dönüştürme (Number)

Bir string’i veya Boolean’ı sayıya çevirmek için Number() fonksiyonunu kullanırız.

Number("1984"); // 1984
Number(false); // 0
Number(true); // 1

Boş string veya sadece boşluklar 0 döndürür:

Number(" "); // 0
Number(""); // 0

Ama sayı içermeyen string’ler NaN (Not a Number) üretir:

Number("on iki");   // NaN
Number("20,000"); // NaN
Number("2 3"); // NaN
Number("11-11-11"); // NaN

⚠️ NaN, JavaScript’te “Geçersiz sayı” anlamına gelir. Özellikle kullanıcı girdilerini işlerken isNaN() ile kontrol etmek gerekir.


5️⃣ Boolean’a Dönüştürme

Bir değeri Boolean’a çevirmek, koşullarda (if yapıları vb.) çok kullanışlıdır. Boolean() metodu ile yapılır.

🔸 false Dönen Değerler

Aşağıdaki değerler false döner:

Boolean(0);
Boolean("");
Boolean(undefined);
Boolean(NaN);
Boolean(null);

🔸 true Dönen Değerler

Boş olmayan veya sıfır olmayan tüm değerler true döner:

Boolean(2000);
Boolean(" ");
Boolean("Rabisu");

Not: "0" bir string olduğu için true döner! Çünkü boş bir string değildir.

Boolean("0"); // true

💬 Sıkça Sorulan Sorular (SSS)

1️⃣ Type coercion nedir?

JavaScript’in bir veri tipini arka planda otomatik dönüştürmesine denir. Örneğin "5" * 2 ifadesi 10 sonucunu verir.

2️⃣ NaN nedir ve nasıl tespit edilir?

“Not a Number” demektir. Geçersiz bir sayısal dönüşümde oluşur. isNaN(deger) kullanarak kontrol edebilirsiniz.

3️⃣ String() ve toString() farkı nedir?

String() her değerde çalışır. toString() ise null ve undefined üzerinde hata verir.

4️⃣ Boolean dönüşümünde boşluklu string neden true döner?

Çünkü boşluk da bir karakterdir. JavaScript bunu “boş olmayan değer” sayar.

5️⃣ Sayıya dönüşüm öncesi tip nasıl kontrol edilir?

typeof operatörünü kullanın:

typeof "15"; // string
typeof Number("15"); // number

🏁 Sonuç

JavaScript’te veri tipi dönüşümleri, doğru çalışmayan kodların çoğunun sebebidir. Otomatik dönüşümlere güvenmek yerine String(), Number() ve Boolean() gibi metotları bilinçli kullanmak, hataları en aza indirir.

Bu bilgilerle kullanıcı girdilerini, API yanıtlarını veya form verilerini daha güvenli işleyebilirsiniz. 🚀 Kodlarınızı Rabisu Bulut Platformu üzerinde test ederek performanslı şekilde çalıştırmayı unutmayın!