DEV Community

Haktan Tekin
Haktan Tekin

Posted on

JavaScript Numbers

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;
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode
57
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode
80
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode
57
Enter fullscreen mode Exit fullscreen mode

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

let num = 0o80;
console.log(num);
Enter fullscreen mode Exit fullscreen mode
let num = 0o80;
          ^^
SyntaxError: Invalid or unexpected token
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode
26
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Ç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);
Enter fullscreen mode Exit fullscreen mode
31400000
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode
0.0000005
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode
5e-7
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode
0.30000000000000004
Enter fullscreen mode Exit fullscreen mode

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;
Enter fullscreen mode Exit fullscreen mode

Özet

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

Github JS Eğitimleri

Linkedin

Kaynak

Top comments (0)