JavaScript Numbers
Published: 2024-01-16 09:49:37

Bu eğitimde, JavaScript sayı türlerini ve bunları nasıl etkili bir şekilde kullanacağınızı öğreneceksiniz.

## Javascript Number'a Giriş

JavaScript, hem tamsayıları hem de kayan noktalı değerleri temsil etmek için `number` türünü kullanır. Teknik olarak, JavaScript `number` türü IEEE-754 biçimini kullanır.

ES2020, 253 - 1'den büyük değerlere sahip büyük tamsayı sayılarını temsil eden yeni bir ilkel tür `bigint`'i tanıttı.

Çeşitli sayı türlerini desteklemek için JavaScript farklı sayı değişmez biçimleri kullanır.

## Tam Sayılar / Integer

Aşağıda, ondalık tamsayı tutan bir değişkenin nasıl bildirileceği gösterilmektedir:

```
let counter = 100;
```

Tamsayılar aşağıdaki formatlarda gösterilebilir:

- Sekizli (taban 8)
- Onaltılık (16 tabanlı)

Aritmetik işlemlerde sekizlik ve onaltılık sayıları kullandığınızda, JavaScript bunları ondalık sayılar olarak ele alır.

**Sekizli Sayılar**

Sekizli bir gerçek sayı sıfır (0) rakamıyla başlar ve ardından bir dizi sekizli rakam (0'dan 7'ye kadar sayılar) gelir. Örneğin:

```
let num = 071;
console.log(num);
```
```
57
```

Sekizli bir sayı 0 ila 7 aralığında olmayan bir sayı içeriyorsa, JavaScript motoru 0'ı yok sayar ve sayıyı ondalık olarak değerlendirir. Örneğin:

```
let num = 080;
console.log(num);
```
```
80
```

Bu örtük davranış sorunlara neden olabilir. Bu nedenle ES6, 0o ile başlayan ve ardından bir dizi sekizli rakam (0'dan 7'ye kadar) içeren yeni bir sekizli değişmez getirmiştir. Örneğin:

```
let num = 0o71;
console.log(num);
```
```
57
```

0o'dan sonra geçersiz bir sayı varsa, JavaScript aşağıdaki gibi bir sözdizimi hatası verecektir:

```
let num = 0o80;
console.log(num);
```
```
let num = 0o80;
          ^^
SyntaxError: Invalid or unexpected token
```
**Onaltılık sayılar**

Onaltılık sayılar 0x veya 0X ile başlar ve ardından herhangi bir sayıda onaltılık rakam gelir (0'dan 9'a ve a'dan f'ye kadar). Örneğin:

```
let num = 0x1a;
console.log(num);
```
```
26
```

## Kayan Noktalı Sayılar

Bir kayan noktalı sayı tanımlamak için, bir ondalık nokta ve bundan sonra en az bir sayı eklersiniz. Örneğin:

```
let price = 9.99;
let tax = 0.08;
let discount = .05; // valid but not recommeded
```

Çok büyük bir sayıya sahip olduğunuzda, e-notasyon kullanabilirsiniz. E-notasyonu, bir sayının 10 ile çarpılarak belirli bir güce yükseltilmesi gerektiğini gösterir. Örneğin:

```
let amount = 3.14e7;
console.log(amount);
```
```
31400000
```

3.14e7 gösterimi, 3.14'ü alıp 107 ile çarpmak anlamına gelir.

Aynı şekilde, çok küçük bir sayıyı temsil etmek için E notasyonunu kullanabilirsiniz. Örneğin:

```
let amount = 5e-7; 
console.log(amount);
```
```
0.0000005
```

5e-7 gösterimi, 5'i alıp 10.000.000'a bölmek anlamına gelir.

Ayrıca JavaScript, ondalık noktasından sonra en az altı sıfır bulunan tüm kayan noktalı sayıları otomatik olarak e-notasyonuna dönüştürür. Örneğin:

```
let amount = 0.0000005;
console.log(amount);
```
```
5e-7
```

Kayan noktalı sayılar 17 ondalık basamağa kadar doğrudur. Kayan noktalı sayılar üzerinde aritmetik işlemler gerçekleştirdiğinizde, genellikle yaklaşık sonucu alırsınız. Örneğin:

```
let amount = 0.2 + 0.1;
console.log(amount);
```
```
0.30000000000000004
```

## Büyük Tamsayılar

JavaScript, ES2022'den itibaren `bigint` türünü tanıttı. `bigint` türü, değerleri 253 - 1'den büyük olan tam sayıları saklar.

Bir büyük tamsayı değişmezi, aşağıdaki gibi bir tamsayı değişmezinin sonunda `n` karakterine sahiptir:

```
let pageView = 9007199254740991n;
```

## Özet

JavaScript Number türü hem tamsayı hem de kayan noktalı sayıları temsil eder.

[Github JS Eğitimleri](https://github.com/haktantekin/javascript-tutorial/tree/main)

[Linkedin](https://www.linkedin.com/in/haktantekin/)

[Kaynak](https://www.javascripttutorial.net/web-development-tools/)