Veri türü
- İngilizcesi
- Data Type
- Türkçe karşılığı
- veri tipi
- Okunuşu
- deyta tayp
Kısaca
Veri türü, bir programa bir verinin sayı ya da metin gibi hangi tür bir değer taşıdığını ve hangi işlemlerin ona uygulanabileceğini söyleyen sınıflandırmadır.
Veri türü nedir?
Veri türü, bir şeyin ne tür bir değer olduğunu ve onun için hangi işlemlerin anlamlı olduğunu tanımlar. İki sayıyı toplayabilir ya da iki metni birleştirebilirsiniz, ancak bir tarihi bir cümleyle çarpmanın anlamı yoktur. Bir programdaki her değerin (bir değişkende saklansa, bir fonksiyona aktarılsa ya da ondan döndürülse de) bir veri türü vardır.
Çoğu dil, tamsayılar, kayan noktalı sayılar (ondalıklı sayılar), dizeler (metin) ve boolean'lar (true veya false) gibi küçük bir yerleşik ilkel (primitive) tür kümesi sunar. Bunların üzerine, diziler (array), nesneler ve sınıflar gibi birkaç değeri bir arada gruplayan bileşik türler sağlar. JavaScript'te typeof operatörü, bir değerin türünü program çalışırken gösterir: typeof 42 sonucunda "number", typeof "hi" sonucunda "string" döner.
Veri türleri elektrik fişleri ile prizlerinin biçimleri gibi çalışır: bir fiş yalnızca kendisi için tasarlanmış prize uyar ve birbirine ait olmayan şeylerin bağlanmasını engeller. Diller türleri ne zaman denetlediği konusunda farklılık gösterir. Java, C#, Rust ve TypeScript gibi statik türlü diller türleri program çalışmadan önce denetler; JavaScript ve Python gibi dinamik türlü diller ise program çalışırken denetler.
Statik ile dinamik türleme sıklıkla güçlü ile zayıf türlemeyle karıştırılır. Statik ve dinamik türlerin ne zaman denetlendiğini, güçlü ve zayıf ise bir dilin türlerin otomatik olarak karıştırılmasını ne kadar katı biçimde reddettiğini anlatır. JavaScript dinamik ve oldukça zayıf türlüdür; bu yüzden "5" + 1 sessizce "51" üretir. Python ise dinamik ama güçlü türlüdür ve aynı işlem için TypeError verir.
Önemli noktalar
- Veri türü, verinin ne tür bir değer taşıdığını ve üzerinde hangi işlemlere izin verildiğini tanımlar.
- Yaygın ilkel türler tamsayılar, kayan noktalı sayılar, dizeler ve boolean'lardır.
- Dizi ve nesne gibi bileşik türler birkaç değeri bir arada gruplar.
- Statik türleme türleri program çalışmadan önce, dinamik türleme ise çalışırken denetler.
Örnek
// Primitive types
const age: number = 30;
const userName: string = "Ada";
const isAdmin: boolean = false;
// A composite type built from primitives
type User = { name: string; age: number; isAdmin: boolean };
const user: User = { name: userName, age, isAdmin };
console.log(typeof age); // "number" (checked while the program runs)
console.log("5" + 1); // "51": the number is converted to text
// const total: number = "10"; // Error: Type 'string' is not assignable to type 'number'Sık sorulan sorular
İlkel veri türleri (primitive types) nedir?
İlkel veri türleri, bir dilin sunduğu ve başka değerlerden oluşmayan sayı, dize ve boolean gibi en basit yerleşik türlerdir. JavaScript'te yedi tane vardır: string, number, bigint, boolean, undefined, symbol ve null.
Statik ve dinamik türleme arasındaki fark nedir?
Statik türlü bir dilde türler program çalışmadan önce, genellikle bir derleyici tarafından denetlenir; bu yüzden birçok hata erken yakalanır. Dinamik türlü bir dilde türler program çalışırken denetlenir; bu daha esnektir ancak tür hatalarının o kod gerçekten çalışana dek gözden kaçmasına izin verir.
0.1 + 0.2 neden 0.3'e eşit değildir?
Çoğu dil ondalıklı sayıları, 0.1 gibi bazı kesirleri tam olarak gösteremeyen ikili kayan noktalı değerler olarak saklar. Küçük yuvarlama hataları birikir ve 0.1 + 0.2 sonucu 0.30000000000000004 olur; para için kuruş gibi tamsayılar ya da özel bir ondalık türü kullanın.
İlgili sayfalar
- DeğişkenProgramlamanın Temelleri, s. 10Değişken, bir programda sayı ya da metin gibi bir değeri tutan ve kodun çalışırken okuyup değiştirebildiği, adlandırılmış bir depolama alanıdır.
- DiziProgramlamanın Temelleri, s. 15Dizi, tek bir ad altında saklanan ve her öğesine genellikle 0'dan başlayan indeks adlı sayısal konumuyla erişilen, sıralı bir değerler koleksiyonudur.
- SınıfProgramlamanın Temelleri, s. 49Sınıf, nesne yönelimli programlamada bir grup nesnenin paylaştığı veri ve davranışı tanımlayan, nesnelerin örnek olarak ondan oluşturulduğu bir plandır.
- TypeScriptWeb Geliştirme, s. 51TypeScript, JavaScript üzerine statik tipler ekleyerek birçok hatayı kod çalışmadan yakalayan ve düz JavaScript'e derlenen bir programlama dilidir.
- DerleyiciProgramlamanın Temelleri, s. 12Derleyici, bir programlama dilinde yazılmış kaynak kodu, bilgisayarın çalıştırabileceği makine kodu gibi daha alt seviyeli bir biçime çeviren programdır.
- Statik TiplemeProgramlamanın Temelleri, s. 52Statik tipleme, değişken ve ifadelerin türünün program çalışmadan önce, genellikle derleyici tarafından denetlenmesidir; birçok tür hatası erken yakalanır.
- Dinamik TiplemeProgramlamanın Temelleri, s. 13Dinamik tipleme, türlerin değişkenlere değil değerlere ait olması ve program çalışırken kontrol edilmesidir; bir değişken önce sayı, sonra string tutabilir.
- EnumProgramlamanın Temelleri, s. 18Enum, bir siparişin olası durumları gibi sabit ve adlandırılmış bir değerler kümesi tanımlayan bir veri türüdür; kod bu kümenin dışında bir değer kullanamaz.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin