Yapay Gezegen

JavaScript İlkel Olmayan / Referans Veri Tipleri

İlkel olmayan veri tipleri: değişken boyutlu, karmaşık yapılı, birden fazla değer saklayabilen, belirli bir bellek adresine işaret eden veri tipleridir. Değerler heap bellek alanında saklanır. Değişken etkisi vardır. Referans veri tipi üzerinde yapılan değişiklikler, o referansa işaret eden tüm değişkenlere etki eder. Referans veri tiplerinde atama yapıldığında, bellekteki referans yeri de atanmış olur.

var dizi1 = [1,2,3]

var dizi2 = [4,5,6]

dizi1 = dizi2 // dizi1'in referansı dizi2'nin referansı ile değişmiş olur

dizi1 // 4,5,6

dizi2[0] = 7

dizi2 // 7,5,6

dizi1 // 7,5,6 -> dizi2'de yapılan değişiklik dizi1 etkiler

Array (Dizi)

Diziler: birden fazla değeri tek bir değişkende saklamak için kullanılanır. Elemanları sıralı olarak tutulur. Dizi elemanlarına index numaraları ile ulaşılır. İndex sıralaması sıfırla (0) başlar. length özelliği dizinin eleman sayısını verir.

var yeniDizi = ["gökhan","altan","yağmur","cengiz"]

yeniDizi[0] // "gökhan"

yeniDizi[1] // "altan"

yeniDizi.length // 4

Dizilerde farklı türdeki elemanlar bulunabilir. Dizinin barındırdığı elemanlar aynı tipte olmak zorunda değildir.

var ornekkDizi = [1, "iki", false, [100,150,200]]

Diziler çok boyutlu olarak tanımlanabilir. En yaygın kullanımı 2 boyutlu dizilerdir. Matematiksel hesaplamalar, oyun geliştirme ve veri analizi gibi alanlarda sıkça kullanılır.

var xyKoordinatlar = [[15,50],[5,30],[45,60],[75,115]]

xyKoordinatlar[0] // dizi içindeki ilk dizinin x ve y koordinat verileri

xyKoordinatlar[0][1] // dizi içindeki ilk dizinin y ekseni için koordinat verisi

Function (Fonksiyon)

Function: belirli işlemleri gerçekleştirmek için yazılan kod bloklarından oluşur. İşlemlerin sonucunu değer olarak döndürür.

function toplama(a,b){
return a + b
}

toplama(5,20) // 25

Date (Tarih)

Date: tarih ve saat bilgilerini erişmek için kullanılanır.

var tarih = new Date() // anlık tarih verilerini içerir -> Wed Dec 11 2024 20:42:23 GMT+0300 (GMT+03:00)

tarih.getHours() // anlık saaat verisi

tarih.getMinutes() // anlık dakika verisi

tarih.getFullYear() // anlık yıl verisi

Object (Nesne)

Object: anahtar - değer çiftlerinden oluşur. Genellikle verileri gruplandırmak için kullanılır. İlgili anahtar ile nesnenin istenilen değerlere ulaşılır. Anahtar: string veya sembol tipinde olmak zorundadır.

var ogrenci = {
adiSoyadi: "Hakan Kara",
yasi: 30,
notu: "85"
}

ogrenci.adiSoyadi // "Hakan Kara"

ogrenci.yasi // 30

Map

Map, anahtar - değer çiftlerini saklayan bir veri yapısıdır. Nesneden farklı olarak: anahtar veri tipi herhangi bir veri tipinde olabilir. (nesne, dize, sayı, vb.) Anahtarları eklenme sırasına göre depolar. Map özellikleri:

let yeniMap = new Map() // Map oluşturuldu

yeniMap.set("adi","Kurt") // Map'a anahtar ve değer ataması yapıldı

yeniMap.set(true, "erkek")

yeniMap.set(30, 1995)

console.log(yeniMap) // Map(3) {'adi' => 'Kurt', true => 'erkek', 30 => 1995}

console.log(yeniMap.get("adi")) // Kurt
let yeniMap2 = new Map ([["adi", "Kurt"], [true, "erkek"], [30, 1995]])

console.log(yeniMap) // Map(3) {'adi' => 'Kurt', true => 'erkek', 30 => 1995}

console.log(yeniMap2.get(true)) // erkek

Set

Set, her değerin yalnızca bir kez bulunabileceği bir veri yapısıdır. Set içine aynı elemandan 2 tane eklenemez. Set özellikleri:

let yeniSet = new Set() // Set oluşturuldu

yeniSet.add("Altan") // Set'e eleman ataması yapıldı

yeniSet.add("Arkın")

yeniSet.add("Altan") // Set içinde aynı eleman olduğu için atama yapılmadı

console.log(yeniSet) // Set(2) {'Altan', 'Arkın'}
let yeniSet2 = new Set("Altan","Arkın")

console.log(yeniSet) // Set(2) {'Altan', 'Arkın'}
Tip Dönüşümleri