SAYILAR
Diğer programlama dillerinin aksine JavaScript tamsayı değerler ile kayan noktalı sayılar arasında ayrım yapmaz. JavaScriptte tanımlanan tüm sayılar kayan noktalı sayıymış gibi tutulur.
Tam Sayılar(Integers)
JavaScriptte onluk sayılar ardışıl digitler şeklinde direk yazılır.Buna ek olarak hexadecimal sayılarıda direk “0X” veya “0x” ile başlayarak tanımlayabiliriz. Bunlar direk hexadecimal sayı olarak yorumlanacaktır. Örneğin:
- 0xff // 255
Bazı javascript sürümlerinde octal sayılarda tanımlanmıştır.Ancak octal sayılarla integer sayılar karışabileceğinden daha sonra yasaklanmıştır. Örneğin:
- 0377 // 8’li tabanda 255tir. Ancak kişi bunu integer değer olarakta kullanmış olabilir.
Kayan Noktalı Sayılar(Floating-Point Numbers)
Kısa ve öz olarak kayak noktalı sayıların sözdizimi aşağıdaki gibidir:
- [ sayı ] [ .sayı ] [ ( E | e [ ( + | – ) ] sayı ]
Buradan da anlaşılacağı gibi bütün sayıları reel sayı şeklinde tutulur.Örneğin:
- 3.14
- 2345.789
- .33333333
- 6.02e23 // 6.02 x 10ˆ23
- 1.4738223E-32 // 1.4738223 x 10ˆ-32
IEEE-754 kayan noktalı sayılar standardına göre sayılar 2’lik tabanda 1/2 ,1/4, 1/1024 gibi sayılar yaklaşarak tutulur.2’nin tam katı olan sayılar için bu durum bir sorun oluşturmazken(0-1 aralığında) diğer sayılar tam olarak tutulamaz. Bunu basit olarak şu şekilde kanıtlayabiliriz:
- Herhangi bir javascript yorumlayıcısını açıp ve ekrana aşağıdaki şekilde yazınca
sonuç bize göre true olmasına rağmen false dönmektedir.Bunun nedeni JavaScript
0.3 – 0.1 sonucunu .19999999999999998 şeklinde tutarken eşitliğin diğer kısmını 0.2 olarak tutar.Eşitlik sağlanmadığından false döndürür.
Tarih ve Zaman
JavaScript çekirdeğinde Date() constructor’u bulunur. Oluşturulan date objeleri ile temel tarih gösterimlerini yapılabiliriz.
- var zmn = new Date(2013 , 0 , 1 ) // 2013’ün ilk ayı.
- var zmn2 new Date(2013, 0 , 1 , 17 , 30 , 10) // Aynı tarih 17:30:10 saatiyle beraber.
Zaman nesneleri üzerinde milisaniyeler aralığında çıkarma yapılabilir.
- zmn2.getFullYear() // yılı döndürür.
- zmn2.getMonth() // ayı döndürür.
- zmn2.getDay() // haftanın kaçıncı günü olduğunu döndürür. (Pazar=0 Cuma=5)
- zmn2.getHours() // saati döndürür.
- zmn2.getUTCHours() // UTC değerine göre zamanı döndürür.(UTC=Universal Time Zone)
- zmn2.toString() // “Tue Jan 01 2013 17:30:10 GMT+0200 (Turkey StandardTime)”