Daha önce Nesne Yönelimli Programlama Nedir? JavaScript ile OOP yazımızda JavaScript’te değişken kavramına değinmiştik. Şimdi de yazılım mülakatlarında da karşınıza gelebilecek olan JavaScript veri türleri konusuna değineceğiz.
Değişkenler belirli değerlere sahip olup, belirli verileri saklayan birimlerdir. JavaScript’te değişkenler “var” ile tanımlanır. Bu kısaltma İngilizce’de variable (değişken) kelimesinden gelmektedir. Değişkenlerin isimlerini belirlerken Türkçe karakter kullanılmayacağını, isimlerin sayı veya özel karakterler ile başlayamayacağını ayrıca belirtelim.
Bahsettiğimiz değişken adlı birimlerin içinde saklanan verilerin ne verisi olduğunu bilgisayarın, yorumlayıcının anlayabilmesi için ihtiyacımız olan kavramları da veri türleri olarak adlandırıyoruz. Bir değişkenin tuttuğu değerler iki çeşit veri türünde olabilir:
İlkel Değerler-Veri Tipleri (Primitive Values-Datatypes): Doğrudan değişkenin eriştiği yerde saklanır.
- string,
- number,
- boolean,
- null,
- undefined
İlkel Olmayan-Referans Değerleri-Veri Tipleri (Non Primitive-Reference Values-Datatypes): Değişken konumunda depolanır, nesnenin depolandığı bellekteki bir konuma ‘referans’ olur.
- objects(array,functions) olarak söylenebilir.
- Ek Bilgi: Bir değişkene bir değer atandığında yorumlayıcı bu değerin öncelikle ilkel veri tiplerinden biri olup olmadığını belirlemeye çalışır. Çünkü ilkel veri tipleri, referans veri tiplerinden daha küçük bellekte depolanır.
İçindekiler
Typeof Operatörü
Veri türlerini incelemeden önce Typeof operatörüne göz atmakta fayda var. Typeof operatörü, parametre olarak veri tipini kontrol edeceğimiz değişkeni veya değeri alır.
Örneğin;
var isim = "gamze ceren";
alert (typeof isim); // çıktı olarak "string" verir.
alert (typeof 21); // çıktı olarak "number" verir.
- Ek bilgi: Typeof operatörünün null(boş) bir değeri nesne olarak çıktı vermesi bize şaşırtıcı gelebilir. Nesne çıktısını vermesi aslında orijinal JavaScript’te olan ve tekrarlanan bir hata olarak günümüze kadar gelmiştir.
String Veri Tipi – İlkel JavaScript Veri Türleri
String anlam olarak Türkçe’de “dize” kelimesine karşılık gelir. String veri tipi, içerisinde metinsel ifadeler bulundurur.
var metin = "merhaba"; //string
- Ek Bilgi: Burada “metin” değişkeninin “merhaba” değeri 7 harften oluştuğu için 7 karakterlidir, fakat dizenin uzunluğu 6’dır. Şaşırtıcı gelebilecek diğer taraf da bu: Saymaya sıfırdan başlıyormuşuz gibi düşünebiliriz.
Number Veri Tipi – İlkel JavaScript Veri Türleri
İsimden anlaşılacağı üzere number veri tipi içerisinde sayısal, nümerik değerler bulundurur.
var sayi1 = 55; //number
- İpucu: Bu veri tipini string veri tipindeki gibi tırnak(“”) içine almamalıyız. Eğer tırnak içinde yazarsak bu string veri tipi olur.
var sayi2 = "55"; //string
- Ek Bilgi: Number değeri olarak “NaN” kullanılabilir. “NaN” değeri “sayı değil” anlamına gelir.
alert (isNaN ("akcanli")); // çıktı: true
alert (isNaN ("123")); // çıktı: false
Boolean Veri Tipi – İlkel JavaScript Veri Türleri
Boolean veri tipi yalnızca iki değer alır: true ya da false. Yukarıdaki ek bilgide verdiğimizde çıktıların true (doğru) ya da false (yanlış) olabileceğini görmüştük.
Açıklayacak olursak birinci satırda “akcanli” için bir “sayı değil” demek “doğru” mu diye soruyoruz ve çıktı olarak true (doğru) alıyoruz. İkinci satırda ise “123” için bir “sayı değil” demek “doğru” mu diyoruz ve false (yanlış) çıktısını alıyoruz.
Null Veri Tipi – İlkel Veri Türleri
Null veri tipi tek bir değere sahiptir. Kelime anlamı olarak “boş” demektir. Var olmayan bir nesneyi temsil etmek için kullanılan bir veri tipidir.
Undefined Veri Tipi – İlkel Veri Türleri
Kelime olarak “tanımsız” anlamına gelen undefined veri tipi, null veri tipi gibi yalnızca tek bir değere sahiptir.
var ornek; //undefined (tanımsız)
Yukarıdaki kod örneğinde “ornek” değişkeni tanımlanmadığı için undefined (tanımsız) değerlidir.
alert (typeof ornek); // çıktı: undefined
- Ek bilgi: Null ve undefined veri tipleri birbirine eşit sayılabilir. Aşağıdaki kodda “null ‘eşit midir’ undefined” olarak sorduğumuzu düşünebiliriz. O da bize true (doğru) çıktısını veriyor, yani eşittir.
alert(null==undefined); //çıktı: true
Objects – Referans Veri Türleri
Object (nesne) veri türleri süslü parantez {} ile oluşturulur. Nesnenin özellikleri arasında virgül kullanılarak nesneler ayrılır. Özellikler yazılırken de isim:değer şeklinde bir yazım kullanılır.
var ogrenci = {no:003, bolum:"malzeme", ders:istatistik};
Arrays – Objects – Referans
Kelime anlamı olarak “dizi” demektir. Eğer birbiriyle ilişkilendirebildiğiniz liste gibi bir grup veri var ise bu veriler için array (dizi) denilen yapılar oluşturulur.
Array yazılırken süslü parantez yerine köşeli [] parantez kullanılır. Dizideki elemanlar birbirinden virgül ile ayrılır.
var dersler = ["malzeme", "istatistik", "diferansiyel"];
- Ek Bilgi: Array’de de elemanları saymaya sıfırdan başladığımızı düşünebiliriz. “malzeme” dizinin birinci elemanı iken [0] indeksine sahiptir.
Functions – Objects – Referans
Fonksiyonlar yazılırken function [fonksiyon adı](parametre1, parametre2){ fonksiyon çağırıldığında ekranda dönecek olan kod} şeklinde yazılır.
Fonksiyonların iki örneğini aşağıda görebilirsiniz:
var sonuc = carpma (7*8);
function carpma (a,b) {
return a*b;
}
var yas = function (){
return 0;
}
alert (typeof yas) //çıktı:function