JavaScript Tip Dönüşümleri
JavaScript ile verileri saklamak, veriler üzerinde hesaplamak yapmak için kullanılan veri türlerinin dönüşümü ile ilgili bilgiler yer alıyor.
JavaScript tip dönüşümlerini otomatik olarak kendisi yapabileceği gibi Number ile number türüne, String ile string türüne, Boolean ile boolean türüne dönüşüm yapılabilir.
JavaScript değişken tipleri
JavaScript’te değer saklanabilen 5 değişken türü vardır.
- string
- number
- boolean
- object
- function
JavaScript’te 3 farklı nesne türü vardır.
- Object
- Date
- Array
JavaScript’te değer içermeyen 2 değişken türü vardır.
- null
- undefined
JavaScript typeof operatörü
JavaScript değişken veri türünü öğrenmek için typeof operatörü kullanılır.
<script>
alert(typeof "Yusuf"); // "string"
alert(typeof 3.14); // "number"
alert(typeof NaN); // "number"
alert(typeof false); // "boolean"
alert(typeof [1,2,3,4]); // "object"
alert(typeof {name:'Yusuf', kilo:78}); // "object"
alert(typeof new Date()); // "object"
alert(typeof function () {}); // "function"
alert(typeof xSayisi); // "undefined"
alert(typeof null); // "object"
</script>
- NaN anahtar kelimesi veri türü number
- Dizilerin veri türü object
- Tarih nesnesinin veri türü object
- null anahtar kelimesi veri türü object
- Tanımsız değişkenin veri türü undefined
- Değer atanmamış değişkenin veri türü undefined
JavaScript typeof operatörü dizi ve tarih veri türünü öğrenmek için kullanılmaz.
JavaScript değişken kurucusu
JavaScript değişken.constructor özelliği değişkenleri oluşturan kurucu fonksiyonları öğrenmek için kullanılır.
<script>
alert("John".constructor); // "function String() { [native code] }"
alert((3.14).constructor); // "function Number() { [native code] }"
alert(false.constructor); // "function Boolean() { [native code] }"
alert([1,2,3,4].constructor); // "function Array() { [native code] }"
alert({name:'John', age:34}.constructor); // "function Object() { [native code] }"
alert(new Date().constructor); // "function Date() { [native code] }"
alert(function () {}.constructor); // "function Function(){ [native code] }"
</script>
Nesne veri türünden bir değerin dizi olup olmadığını öğrenmek için constructor özelliğini kullanabiliriz.
<script>
function isArray(x) {
return x.constructor.toString().indexOf("Array") > -1;
}
var liste = ["Elma", "Armut", "Portakal"];
alert(isArray(liste));
</script>
Nesne veri türünden bir değerin tarih nesnesi olup olmadığını öğrenmek için constructor özelliğini kullanabiliriz.
<script>
function isDate(x) {
return x.constructor.toString().indexOf("Date") > -1;
}
var tarih = new Date();
alert(isDate(tarih));
</script>
JavaScript tip dönüşümleri
JavaScript değişkenleri yeni bir değişkene veya başka bir değişken türüne dönüştürmek için
- JavaScript tip dönüşüm fonksiyonlarını
- veya JavaScript ile otomatik olarak dönüştürebiliriz.
JavaScript sayı veri türünü metin veri türüne dönüştürme
Sayıları metin veri türüne dönüştürmek için String fonksiyonu kullanılabilir.
<script>
var xSayisi = 1453;
alert(String(xSayisi));
alert(String(123));
alert(String(100 + 23));
</script>
Sayı veri türünün toString fonksiyonu sayıları metin veri türüne dönüştürür.
<script>
var xSayisi = 1453;
alert(xSayisi.toString());
alert((123).toString());
alert((100 + 23).toString());
</script>
JavaScript dersleri bölümündeki JavaScript Sayı Fonksiyonları yazımdan tüm sayı fonksiyonlarına bakabilirsiniz.
JavaScript mantık veri türünü metin veri türüne dönüştürme
Mantık veri türünü metin veri türüne dönüştürmek için String fonksiyonu kullanılabilir.
<script>
alert(String(false));
alert(String(true));
</script>
Mantık veri türünü metin veri türüne dönüştürmek için toString fonksiyonu kullanılabilir.
<script>
alert(false.toString());
alert(true.toString());
</script>
JavaScript tarih veri türünü metin veri türüne dönüştürme
Tarih veri türünü metin veri türüne dönüştürmek için String fonksiyonu kullanılabilir.
<script>
alert(Date());
</script>
Tarih veri türünü metin veri türüne dönüştürmek için toString fonksiyonu kullanılabilir.
<script>
alert(Date().toString());
</script>
JavaScript dersleri bölümündeki JavaScript Tarih Fonksiyonları yazımdan tüm tarih fonksiyonlarına bakabilirsiniz.
JavaScript metin veri türünü sayı veri türüne dönüştürme
Metin veri türünü sayı veri türüne dönüştürmek için Number fonksiyonu kullanılabilir.
Metin veri türü değeri 1453 gibi sayı ise 1453 sayısına dönüşür.
Metin veri türü değeri boş ise 0’a dönüşür.
Diğer tüm metin veri türü değerleri NaN değerine dönüşür.
<script>
alert(Number("3.14"));
alert(Number(" "));
alert(Number(""));
alert(Number("99 98"));
</script>
JavaScript dersleri bölümündeki JavaScript Sayı Fonksiyonları yazımdan tüm sayı fonksiyonlarına bakabilirsiniz.
JavaScript mantık veri türünü sayı veri türüne dönüştürme
Mantık veri türünü sayı veri türüne dönüştürmek için Number fonksiyonu kullanılabilir.
<script>
alert(Number(false));
alert(Number(true));
</script>
JavaScript tarih veri türünü sayı veri türüne dönüştürme
Tarih veri türünü sayı veri türüne dönüştürmek için Number fonksiyonu kullanılabilir.
<script>
var tarih = new Date();
alert(Number(new Date()));
alert(Number(tarih));
</script>
Tarih veri türünün getTime fonksiyonu tarih veri türünü sayı veri türüne dönüştürür.
<script>
var tarih = new Date();
alert(tarih.getTime());
</script>
Otomatik tip dönüşümü
JavaScript farklı veri türleri üzerinden işlem yapıldığında veri türünü otomatik olarak doğru veri türüne dönüştürmeye çalışır.
Ancak sonuç her zaman doğru olmayabilir.
<script>
alert(5 + null); // 5
alert("5" + null); // "5null"
alert("5" + 2); // 52
alert("5" - 2); // 3
alert("5" * "2"); // 10
</script>
JavaScript otomatik metin veri türüne dönüştürme
JavaScript bir nesneyi veya değişkeni ekrana yazdırmaya çalıştırdığınızda toString fonksiyonunu otomatik olarak çalıştırır.
<script>
alert({name:"Fjohn"}); // [object Object]
alert([1,2,3,4]); // 1,2,3,4
alert(new Date(0)); // Thu Jan 01 1970 03:00:00 GMT+0300
</script>
Sayı ve mantık veri türünü de dönüştürür ancak bu dönüşüm pek fark edilmez.
<script>
alert(123); // 123
alert(true); // true
alert(false); // false
</script>
JavaScript Derslerine buradan ulaşabilirsiniz…
Hayırlı günler dilerim.