JAVASCRIPT’IN TARIHÇESI
JavaScript Veri Türleri
JavaScript’ i çalışma mekaniğini anlayabilmeniz için öncelikle JavaScript Engine , hangi veri türlerini nasıl ele aldığını iyi bir şekilde anlamamız gerekiyor. Bu yazıda JS kullanılan Veri Türleri üzerinde duracağım.
JavaScript kavramak ve anlamak istiyorsak, JavaScript parçalarına ve bu parçalara JS Engine nasıl ele aldığını iyi algılıyor olmamız lazım. Bu yazıda JavaScript kullanılan Veri Türlerinden bahsedeceğiz.
Yukarıda ki resmi incelerseniz JavaScript Veri Türlerinin 2'ye ayrıldığını görebilirsiniz. Birisi Primitive Type, diğeride Object Type. Bu konuya ADT(Abstract Data Types) yapısında detaylıca değinmiştim. Ama tekrar özetlersek;
Primitive Types: Bir değişken JS Primitive değer atandığında (boolean, number, null, undefined, string, symbol) gibi bu bellekte bir yer tutar ve bu alan içerisindeki değer değiştirilmez. Buna immutable yani değiştirilemez veri türleri diyoruz.
Object Types: Bir değişken Object türünde tanımlanırsa bu değişkenin bellekte tuttuğu alan içerisindeki değerler değiştirilebilir ve bir Obje içerisinde Primitive ve diğer Object Türlerini tekrarlı bir şekilde iç içe içerebilir. Bu tip türlere mutable, yani içeriği değiştirilebilir veri türleri diyoruz. Örneğin (Object, Array, Function, Date vb.)
Yukarıda Aklımıza Gelen Sorular ?
Yukarıda ki yazdıklarımızdan belki aklımıza bir çok soru gelebilir. Ama bu soruların cevapları o kadar basit tek yazı içerisinde anlatılacak konular değil. Bu yüzden sorduğum sorulara kısa cevaplar verip yanında bir takım yazı linkleri belirttim. Bu yazıları da birlikte okursanız soruların cevaplarını daha net anlayabilirsiniz.
Soru: Değişkenler veri yapılarını tutuyoruz demiştim. Burda neyi kastediyorum ? C → var, const, let bu veri türlerini tutarlar. Neden ? var → let, const yazısını okuyabilirsiniz.
Soru: Object yapısı nasıl birbirini tutar. Nasıl Object nasıl tanımlayabiliriz ?
C → JavaScript Object tanımlamak, iç içe obje yapıları oluşturmak çok basittir. JavaScript’de Enhanced Object Literals
Soru: Peki Object yapısını JavaScript Engine nasıl algılıyor ? Array de bir Object mi ? C → Evet Array de farklı türdeki bir Object. JS Engine sadece onu farklı görüyor ama aynı mekaniklerde işletiyor. Chrome Nasıl Çalılır — JS Processing
Soru: Peki Fonksiyonlar Değişkene atanabilir mi ? veya Fonksiyonlara Parametre Geçirilebilir mi ? C → Evet fonksiyonlarda Object’tir Invoke edilebilen bir Object’tir ve herhangi bir değişkene atanabilir ve fonksiyona parametre olarak geçirilebilir. First Class Functions
Soru: Mutable ve Immutable kavramları önemli mi ? Neden önemli ? Fonksiyonlar’da bir Obje midir ? C → Mutable ve Immutable kavramları çok önemli, Fonksiyonlar’da birer Objedir. JS’de Fonksiyon’un Gizemli Dünyası
Soru: JavaScript dinamik tipte bir programlama dili bu durumda Operator bu primitif veri türleri üzerinde işlem yaparken otomatik dönüşümler yapar mı ? Evet otomatik Coercion ve Conversion işlemleri yapılır. JavaScript Default Parameters(Truthy, Falsy) ve JS Operator
Soru: Map ve Set gibi Veri yapılarının fonksiyonları ve özellikleri nelerdir ? C → Aslında JavaScript geliştiricileri Object bir Map, Array ‘ide bir Set gibi kullanıyordu. Ama ES6 sonrasında gelen bu veri yapıları ile bu türler daha belirgin bir şekilde ayrıştırılmış oldu. JS ES6 Map/Set Veri Yapılar
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara (JS Pratik Kullanımı) erişmek için bu linke tıklayabilirsiniz.
Bu yazının devamı veya yazı grubundaki diğer yazılara (JS Derinlemesine Öğren) erişmek için bu linke tıklayabilirsiniz.