2403

Komple Uygulamalı Web Geliştirme Eğitimi

Javascript Numbers

Javascript dersleri serimizin bu dersinde Javascript numbers nedir ve nasıl kullanılır,öğrenelim.

Javascript Number

Javascript 'de bir sayı veri türü vardır. Tanımladığımız her javascript number tam sayı ya da ondalıklı sayı olabilir.

Örnek

var x = 10;    // Ondalıklı sayı 
var y = 10.5;  // Tam sayı

Javascript Toplama

Javascript number türündeki değerleri + operatörü ile toplayabiliriz.

Örnek

var x = 10;
var y = 20;
var z = x + y;   // 30

Peki Javascript string türündeki verileri + operatörü ile toplamak istersek?

Örnek

var x = "10";
var y = 20;
var z = x + y;   // 1020

x değişkeni, javascript number veri türünde olmadığından dolayı string toplama işlemi ile ve z değişkeni string veri türünde 1020 sonucunu verir.

** Aynı şekilde x gibi y değişkeni de tırnaklar içinde tanımlanmış olsaydı sonuç gene aynı olurdu.

Peki toplama işlemine bir değişken daha eklersek?

Örnek

var x = 10;
var y = 20;
var z = "30";
var result = x + y + z;  // 3030

x ve y değişkeni javascript number veri türünde olduğundan dolayı x+y sonucu 30 değerini verir. 30+z işlemi ise z değişkeninin string veri türünde olmasından dolayı string birleştirme işlemi ile işlem 3030 olarak sonuçlanır.

** Önemli olan + operatörünün sağ ve solundaki değişkenin javascript number veri türünde olup olmamasıdır. Bir değişken string ise string toplama işlemi yapılır.

Javascript Matematiksel İşlemler 

+ operatörünün dışında diğer matematiksel operatörlere gelen string veri türleri javascript number türüne çevrilmeye çalışılırlar.

Örnek

var x = "10";
var y = "2";
var z = x / y;   // 5

x ve y değişkeni string olmasına rağmen bölme işleminde string veri türleri javascript number veri türüne çevrilir.

** Aynı işlemi bölme yerine çarpma ve çıkarma işleminde de test edebilirsiniz.

Javascript NaN (Not a Number)

Javascript NaN, bir değerin sayı olmadığı anlamını taşır. 

Örnek

var x = 10 / "2a";  // NaN

Normalde bölme işlemine giren string bir değer javascript number türüne çevrilmek istenir ancak 2a değeri javascript number türüne çevrilemediğinden dolayı sayısal bir sonuç vermesi gereken bölme işlemi NaN sonucunu verir. Eğer ki 2a yerine string "2" değeri gelseydi bölme işlemi yapılabilirdi.

Peki bölme işlemine girmeden önce gelen javascript input value değerinin javascript number türüne çevirilip çevrilmeyeceğini önceden öğrenemez miyiz ? Tabi ki öğrenebiliriz.

Javascript isNan() Metodu

isNan() metoduna parametre olarak gönderdiğimiz değer eğer NaN yani sayısal olmayan bir değer ise bu durumda true sonucunu gönderir.

Örnek

isNaN("2a")  // true
isNaN("2")   // false

Dolayısıyla kullanıcıdan aldığınız javascript input value değerinin gerçekten sayı olup olmadığını kontrol edebilirsiniz.

var sayi = input('sayı: ');
if (isNaN(sayi)){
   console.log('girilen değer sayı değil');
}