JavaScript Tür Dönüşümü

JavaScript ile bir değişken tipten bağımsız olarak tanımlanır. Fakat değer ataması yapılırken değerin türüne göre değişkenin tipi dinamik olarak belirlenir. Bu durum javascript dilinin değişken ile veri arasında gevşek bir bağa sahip olduğu anlamına gelir. İlk değer ataması yaparken, elle giriyorsak bu sorun oluşturmayacaktır. Ancak değer bir fonksiyon, json yada farklı bir nesneden geliyorsa bunu kontrol edip ona göre işlemden geçirmek büyük önem oluşturur.

Bu durumu bir örnekle belirtelim.

JavaScript ile birleştirme ve toplama için + (artı) sembolü kullanılır. Eğer “5” +”10″ gibi bir işlemi matematiksel olarak yapmak istiyorsak değerleri string olmaktan çıkarıp number türüne dönüştürmek gerekir. Aksi durumda sonuç:15 yerine sonuç : 510 şeklinde oluşacaktır. Javascript değişkenler konusunu anlatırken, javascript dilinde kullanılan türlerin listesini açıklamaları ile belirtmiştim. Bu açıklamadan sonra javascript tür dönüşümünü sağlamak için aşağıdaki fonksiyonları kullanarak istediğimiz türlerde dönüşüm sağlayabiliriz. String Türüne Dönüştürme Bir değeri string türüne dönüştürmek için aşağıdaki iki fonksiyondan birini kullanabiliriz. deger.toString() String(deger)


var  sayi=125;              // typeof deger  -> number
var metin=sayi.toString();  // typeof metin --> string

var durum=false;
var metin2 =String(durum);

var  sayi=125;              // typeof deger  -> number
var metin=sayi.toString();  // typeof metin --> string
 
var durum=false;
var metin2 =String(durum);
Sayı Türüne Dönüştürme Aşağıdaki metodlar ile sayı türüne dönüştürebiliriz. En sık kullanılan dönüşüm fonksiyonlarından biridir. json, input yada prompt nesnelerinden okunan değerler string türünde olduğu için sayısal işlem yapılacaksa aşağıdaki fonksiyonlar ile dönüşüm yapılması gerekiyor. Not: Tür dönüşümü sırasında sayısal değere dönüştürülmeyen değerler için NaN özel sembolik değeri oluşturulur.


//Örn: “10A” değeri sayısal değere dönüştürülmek istendiğinde NaN özel değeri oluşturulacaktır.

Number(deger)
parseInt(deger)
parseFloat(deger)

//Örn: iki kenarı girilen dikdörtgenin çevresini hesaplama

< input type="text" id="kenar1" placeholder="Kısa kenar" >
< input type="text" id="kenar2" placeholder="Uzun kenar" >
< input type="button" value="Hesapla" id="hesapla" >

function hesapla(){
var k1=document.getElementById("kenar1").value;
var k2=document.getElementById("kenar2").value;
 
k1=Number(k1);
k2=Number(k2);
var cevre=(k1+k2)*2;
alert("İki kenarı girilen dikdörtgenin çevresi:"+cevre);
}

//hesaplama yapması için hesap butonunu seçiyoruz.
var hesapBtn=document.getElementById("hesapla");

//fonksiyonu olaya bağlıyoruz.
hesapBtn.onclick=hesapla;
Boolean Türüne Dönüştürme Boolean fonsiyonu ile true/false değerlerine dönüşüm yapılabilir. Boolean(deger)