JavaScript'te Veri Türleri
Bu makale JavaScript'teki veri türlerini açıklar.
YouTube Video
JavaScript'te Veri Türleri
JavaScript, değerleri sınıflandırmak için veri türlerine sahiptir ve bunlar genel olarak ilkel türler ve nesne türleri olarak ayrılır. Veri türleri, bir değişkende hangi tür verilerin saklandığını belirler ve bu verilerin nasıl işlenebileceğini etkiler.
Primitif Türler
İlkel türler, bir tek değeri temsil eden basit veri türleridir. JavaScript, aşağıdaki 7 temel ilkel türe sahiptir.
number
1let num = 42;
2let pi = 3.14;
3
4console.log("Value of num:", num);
5console.log("Value of pi:", pi);
number
, sayısal değerleri işlemek için kullanılan bir türdür, bu tür tamsayılar ve ondalık sayılar (küsuratlar) içerir. Belirli sınırları aşan değerleri işlemekInfinity
veyaNaN
(Not-a-Number) ile sonuçlanır.
1// Decimal calculations
2console.log(0.1 + 0.2 === 0.3); // false
3console.log(0.1 + 0.2); // 0.30000000000000004
4
5// Calculations with large numbers
6console.log(9007199254740991 + 1); // correct value
7console.log(9007199254740991 + 2); // incorrect value
- JavaScript'te sayılar, kayan noktalı sayılar olarak temsil edilir. Sonuç olarak, belirli ondalıklar (özellikle ikili olarak kesin şekilde temsil edilemeyenler) doğru şekilde ifade edilemeyebilir.
- Özellikle parasal değerler gibi kesin hesaplamaların gerektiği durumlarda, bu tür yuvarlama hatalarından kaçınılması gerekir. Örneğin,
BigInt
kullanabilir veyatoFixed()
ile ondalık basamak sayısını ayarlayabilirsiniz.
string
1let greeting = "Hello, world!";
2let char = 'A';
3const message = `"${greeting}" in JavaScript`;
4
5console.log("Value of greeting:", greeting);
6console.log("Value of char:", char);
7console.log("Value of message:", message);
string
, metni işlemek için kullanılan bir veri türüdür; bu, karakter dizelerini temsil eder. Metin, tek tırnak çizgileri ('
) veya çift tırnak çizgileri ("
) içine alınarak temsil edilir. ES6'dan itibaren, şablon dizgileri geri tırnak işaretleri () kullanılarak değişkenlerin kolayca gömülmesine olanak tanır. Bir değişken gömülecekse,
${}` sözdizimi kullanılır.
boolean
1let isAvailable = true;
2let hasError = false;
3
4console.log("Value of isAvailable:", isAvailable);
5console.log("Value of hasError:", hasError);
boolean
, mantıksal bir değeri temsil eder ve yalnızca iki değere sahip olabilir:true
veyafalse
. Koşullu ifadelerin sonucu veya bir bayrak olarak kullanılır.
null
1let result = null;
2
3console.log("Value of result:", result);
null
, açıkça 'boş değer' anlamına gelen bir veri türüdür.null
, geliştiriciler tarafından kasıtlı bir boşluğu göstermek için ayarlanır.
undefined
1let score;
2let subject = undefined;
3
4console.log("Value of score:", score); // undefined
5console.log("Value of subject:", subject);
undefined
, 'tanımsız' anlamına gelen bir veri türüdür.undefined
, bir değişken tanımlandığında ancak bir değer atanmadığında otomatik olarak atanır.
bigint
1let bigIntValue = 9007199254740991n;
2let anotherBigInt = 123456789012345678901234567890n;
3
4console.log("Value of bigIntValue:", bigIntValue);
5console.log("Value of anotherBigInt:", anotherBigInt);
bigint
, büyük tam sayıları işlemek için bir veri türüdür.bigint
,number
türüyle temsil edilemeyen büyük tam sayıların doğru bir şekilde temsil edilmesini sağlar.bigint
literalleri, bir sayının sonunan
eklenerek temsil edilir.bigint
, aralık kısıtlaması olmadan, herhangi bir boyuttaki tam sayıları işlemek için kullanılan bir türdür. Ancak,bigint
venumber
birlikte doğrudan işlem yapılamaz, bu nedenle dikkat edilmesi gerekir.
Symbol
1let sym1 = Symbol('id');
2let sym2 = Symbol('id');
3
4console.log("sym1 === sym2:", sym1 === sym2); // false
Symbol
, benzersiz tanımlayıcılar oluşturmak için kullanılan bir veri türüdür.Symbol()
kullanılarak oluşturulur ve bir nesnenin özelliği olarak kullanılabilir. Diğer ilkel veri türlerinden farklı olarak,Symbol
benzersiz değerlere sahiptir, bu nedenle aynı içeriğe sahip olsa bile farklı birSymbol
olarak değerlendirilir.
Nesne Türleri
Nesne türleri, birden fazla değeri depolayabilen veri yapılarıdır. Bir nesne, anahtar-değer çiftlerinden oluşan bir koleksiyondur ve özellikler ve yöntemler içerebilir.
Object
1let person = {
2 name: "John",
3 age: 30,
4 isEmployee: true
5};
6console.log(person.name); // John
Object
, çeşitli veri türlerini saklayabilen özellikler (anahtar-değer çiftleri) topluluğudur. Nesneler süslü parantezler{}
ile temsil edilir ve her bir özellik anahtar ile değer arasında:
ile bağlanır.
Array
1let numbers = [10, 20, 30];
2console.log(numbers[0]); // 10
3console.log(numbers[1]); // 20
4console.log(numbers[2]); // 30
5console.log(numbers[3]); // undefined
Array
, düzenli bir şekilde birden çok değeri tutan bir listedir. Diziler köşeli parantezler[]
ile temsil edilir ve değerler virgüller,
ile ayrılır. Her eleman, 0'dan başlayan bir indeks kullanılarak erişilir.
Function
1function greet(name) {
2 return "Hello, " + name;
3}
4console.log(greet("Alice")); // Hello, Alice
- Fonksiyonlar, bir tür nesne olup, tekrar kullanılabilir kod bloklarıdır. Fonksiyonlar
function
anahtar kelimesi kullanılarak tanımlanabilir.
Diğer Nesne Türleri
- JavaScript ayrıca
Date
,RegExp
,Map
veSet
gibi yerleşik nesne türlerine sahiptir. Bunlar, belirli kullanım durumlarına göre verileri işlemi sağlar.
Tür Dönüşümü
Örtük ve açık tür dönüşümleri, JavaScript'te sıkça gerçekleştirilir.
Örtük Tür Dönüşümü
- JavaScript, farklı türler arasında işlemler yaparken türleri otomatik olarak dönüştürebilir.
1let result = 5 + "5"; // "55" (the number is converted to a string)
2
3console.log(result);
- Bu örnekte,
5
sayısı örtük olarak bir metne dönüştürülür ve sonuç olarak"55"
metni elde edilir.
Açık Tür Dönüşümü
- Geliştiriciler ayrıca tür dönüşümlerini açıkça gerçekleştirebilir.
1let num = "123";
2let convertedNum = Number(num); // Converts "123" to the number 123
3
4console.log(typeof num);
5console.log(typeof convertedNum);
- Bu örnekte,
Number()
fonksiyonu kullanılarak"123"
metni açıkça123
sayısına dönüştürülür.
Tür Kontrolü
JavaScript'te, bir değişkenin veri türünü kontrol etmek için typeof
operatörünü kullanabilirsiniz.
1// Output: The type of 42 is: number
2console.log('The type of 42 is:', typeof 42);
3
4// Output: The type of 42 is: bigint
5console.log('The type of 42n is:', typeof 42n);
6
7// Output: The type of "hello" is: string
8console.log('The type of "hello" is:', typeof "hello");
9
10// Output: The type of true is: boolean
11console.log('The type of true is:', typeof true);
12
13// Output: The type of undefined is: undefined
14console.log('The type of undefined is:', typeof undefined);
15
16// Output: The type of null is: object
17console.log('The type of null is:', typeof null);
18
19// Output: The type of Symbol() is: symbol
20console.log('The type of Symbol() is:', typeof Symbol());
21
22// Output: The type of {} is: object
23console.log('The type of {} is:', typeof {});
24
25// Output: The type of function () {} is: function
26console.log('The type of function () {} is:', typeof function () {});
Sonuç
- İlkel türler,
number
,string
,boolean
,null
,undefined
vesymbol
içerir. - Nesne türleri,
Object
,Array
,Function
gibi türleri içerir. - Hem otomatik hem de açık tür dönüşümleri gerçekleştiği için veri türlerini doğru şekilde kullanmayı anlamak önemlidir.
Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.