JavaScript'te Veri Türleri

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şlemek Infinity veya NaN (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 veya toFixed() 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 veya false. 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 sonuna n 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 ve number 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ı bir Symbol 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 ve Set 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ça 123 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 ve symbol 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.

YouTube Video