JavaScript/Değişkenler

Vikikitap, özgür kütüphane

Değişken tanımlama[değiştir]

JavaScript'te değişken tanımlamaları var anahtar sözcüğüyle yapılır. Örnek:

var a;
a=5;
document.write(a);

Buradaki document.write(a) kodu ekrana yazı yazdırmaya yarar. Parantez içindeki değişken, sabit ya da ifade ekrana yazdırılır.

Değişken tanımlamayla değişkene ilk değer vermeyi aynı satırda yapabiliriz:

var a=5;
document.write(a);

Aynı satırda birden fazla değişken tanımlayabiliriz. Hatta bunlardan istediğimize değer atama, istediğimize değer atamama hakkımız da vardır:

var a, b, c=5, d;
document.write(c);

JavaScript, zayıf tür güvenliğine sahip bir dildir. Aynı değişkende önce string, sonra sayı depolayabiliriz:

var a=5;
a="metin";

Ancak bu, JavaScript'te tür diye bir kavram olmadığı anlamına gelmez. JavaScript'te varsayılan olarak değişkenlerin türleri değişkenlere atanan değerlerden anlaşılır, değişkenin değerini değiştirdiğimizde değişkenin türü de otomatik olarak değişir. Ancak istersek bu varsayılan durumu değiştirebiliriz:

var sayi : number;
sayi=3;
//aşağıdaki satırı yazsaydık hata oluşurdu.
//sayi="string";

JavaScript'teki temel veri türleri[değiştir]

Sayılar (Number)[değiştir]

Sayı tipinden sabitler[değiştir]

var a=10;
a=177.5; //ondalık ayırıcı nokta olacak.
a=-2.71;
a=.345; //0.345
a=.345e3; // 0.345 x 10^3   (e'nin büyüklük-küçüklük durumu önemli değil)
a=3.E3; // 3 x 10^3
a=128E+100; // 128 x 10^100
a=128E-5; // 128 x 10^(-5)
a=0xa; //on altılık sayı sisteminde sabit bildirimi.
       //x'in ve on altılık sistemdeki sayıyı temsil eden a,...,f harflerinin büyüklük-küçüklük durumu önemli değil.
a=05; //sekizlik sayı sisteminde sabit bildirimi
  • Nasılsa baştaki sıfırlar önemsiz diye sayıların başına sıfır koymamalıyız. Çünkü yukarıdaki kodda da görebileceğiniz üzere JavaScript yorumlayıcısı başında sıfır olan sayıları sekizlik sayı sistemindeki sayı olarak görmektedir.
  • Onaltılık ve sekizlik tabandaki sayı bildirimlerinde ondalık sayı ve E ile üstlü sayı bildiremeyiz. Onaltılık sayı bildiriminde E sayının içindeki bir rakam olarak görülür. Sekizlik sayı bildiriminde de sayının içinde E kullanılması durumunda betik hata verir.
  • Sekizlik sayı bildiriminde 0-7 aralığındaki rakamları kullanmalıyız.
Infinity ve -Infinity[değiştir]
  • Infinity artı sonsuzu ve -Infinity eksi sonsuzu ifade eder.
  • Eğer bir değişkenin değeri maksimum sayı kapasitesini aşarsa ilgili değişken Infinity değerini tutar. Benzer şekilde bir değişkenin değeri minimum sayı kapasitesinin altına inerse ilgili değişken -Infinity değerini tutar.
  • Bir sayıyı 0'a böldüğümüzde sonuçta Infinity değeri üretilir.
  • İstersek bir değişkene direkt Infinity ve -Infinity değerlerini atayabiliriz. Infinity ve -Infinity büyük-küçük harf duyarlılığına sahiptir.
  • Infinity ve -Infinity == ve != operatörleriyle kıyaslanabilir. == operatörü eğer taraflardan ikisi de Infinity veya taraflardan ikisi de -Infinity ise true, aksi takdirde false değeri üretilir. != operatörü ise bunun tam tersini yapar.
  • Infinity ve -Infinity >, <, <=, >= operatörleri vasıtasıyla kendileriyle, birbirleriyle veya diğer sayılarla kıyaslanabilir. Infinity kendisi hariç her sayıdan büyüktür. -Infinity ise kendisi hariç her sayıdan küçüktür.
  • Matematikteki sonsuz ile ilgili bütün kurallar Infinity ve -Infinity için de geçerlidir. Örneğin Infinity'ye 5 eklenirse sonuç yine Infinity olur. Bir sayı Infinity'ye bölünürse sonuç sıfır çıkar.
Nan[değiştir]
  • İlgili değerin geçerli bir sayı olmadığını belirtir.
  • 0, 0'a bölünürse; Infinity'nin sinüsü alınırsa; Infinity ile -Infinity toplanırsa bu değer üretilir.
  • NaN ile herhangi bir aritmetik işlem yapılırsa sonuç NaN olur.
  • Herhangi bir karşılaştırma operatörü vasıtasıyla herhangi bir sayıyla veya kendisiyle karşılaştırılırsa daima false değeri üretilir.
  • Bir değişkene direkt NaN değeri atanabilir. NaN büyük-küçük harf duyarlılığına sahiptir.
  • Tipi ve değeri uygun olmayan değişkenlerle aritmetik işlem yapılırsa NaN değeri üretilir. Örneğin 5 ile "metin" çarpılırsa NaN değeri üretilir.

Stringler[değiştir]

var s1="metin";
var s2='metin';

Stringlerin içinde kullanılabilen escape sequence'ler şunlardır:

Escape sequence Anlamı
\b Backspace (silme tuşu)
\t Tab (yatay)
\n Linefeed (yeni satır)
\v Tab (dikey)
\f Form feed
\r Carriage return
\" Çift tırnak
\' Tek tırnak
\\ \ karakteri (ters slash)
\000 Bir Latin-1 (ISO-8859-1) karakteri (sekizlik tabanda). 000'dan 377'ye kadar olası değer var.
\xHH Bir Latin-1 (ISO-8859-1) karakteri (onaltılık tabanda). 00'dan FF'ye kadar olası değer var.
\uHHHH Bir Unicode karakteri (onaltılık tabanda).
  • Çift tırnak ile çevrelenmiş bir stringin içindeki tek tırnakları; tek tırnakla çevrelenmiş bir stringin içindeki çift tırnakları escape etme gereksinimi olmadan gönül rahatlığıyla kullanabiliriz.

Boolean[değiştir]

var a=true, b=false;
var c=5<8;

undefined[değiştir]

Tanımlanmamış veya tanımlanmış ama değer atanmamış değişkenlerin tipi undefined'tır. undefined tipteki bir değişkeni ekrana yazmamız durumunda ekrana "undefined" yazılır. undefined değişkenler bellekte yer kaplamaz.

null[değiştir]

Bir değişkenin var olduğunu ve bellekte yer kapladığını ama değişkenin içinin "boş" olduğunu belirtir.

JavaScript'te tür güvenliği[değiştir]

JavaScript tür güvenliği olmayan bir dildir. Aynı değişkende önce string, sonra tam sayı depolayabiliriz:

var a=5;
a="metin";