Çoğu zaman operatörler ve fonksiyonlar otomatik olarak değeri doğru tipe dönüştürürler. Buna “tip dönüştürme” denir.
Örneğin alert otomatik olarak verilen tüm değerleri karakter dizisine çevirir ve ekranda gösterir. Matematiksel operatörler ise değerleri sayılara çevirir.
Tabi bunun yanında doğrudan tipi sizin tarafınızdan değiştirilmesi gereken değişkenler vardır.
Bu bölümde objeler hakkında bilgi verilmeyecektir. Önce ilkel tiplerin iyice öğrenilmesi lazım, sonra objelerin öğrenilmesi ve daha sonra Objelerin ilkel çevirileri bölümünde objelerin dönüştürülmesi öğrenilebilir.
toString
Bir değeri karakter dizisi olarak kullanmak istiyorsanız toString’i kullanabilirsiniz.
Örneğin alert(deger) değeri gösterir. Ayrıca String(deger) de kullanılabilir.
let value = true;
alert(typeof value); // boolean
value = String(value); // Şimdi değer karakter dizisi = "true"
alert(typeof value); // karakter dizisi
Eğer false değeri karakter dizisi dönüştürme işlemine tabi tutarsanız "false", null’u tutarsanız "null" olur.
Number
Sayısal dönüştürme işlemleri matematiksel operasyonlarda otomatik olarak gerçekleşir.
Örneğin sayı olmayan iki değer / işlemine tutulduğunda:
alert( "6" / "2" ); // 3, karakterler sayılara dönüştürülür ve işlem öyle yapılır.
Eğer isterseniz Number(value) fonksiyonu ile değeri sayıya dönüştürebilirsiniz:
let str = "123";
alert(typeof str); // string
let num = Number(str); // sayı olan 123
alert(typeof num); // number
Bu şekilde fonksiyon ile değer dönüştürme işlemi genelde karakter dizi olarak aldığımız formlarda kullanılır. Aslında sayı kullanılmak istenmektedir. Fakat yazı kutusunun içeriğine sayı dahilinde yazılanları kontrol etmeniz gerekmektedir. Böyle bir fonksiyona sayı olmayan bir değer geldiğinde fonksiyon NaN değeri döndürür. Yani (Not a Number) sayı değil.
let age = Number("Bir sayı yerine herhangi bir yazı");
alert(age); // NaN, dönüştüremedi!
Sayısal dönüştürme kuralları:
| Değer | Sonuç… |
|---|---|
undefined |