Karşılaştırma Operatörleri
Karşılaştırma operatörlerinden büyüktür, küçüktür vb. matematiksel olanları zaten biliyorsunuzdur. Programlama dillerindeki karşılaştırma işlemlerinin hepsinin sonucu true veya false olarak döner. Yani Boolean tipindedir. Şimdi karşılaştırmaları ele alalım.
İlişkisel Karşılaştırmalar ( <, >, =, ! )
<, >, =, ! )Bu karşılaştırmalarda <, >, =, ! sembolleri kullanılır. Büyüktür, küçüktür, eşittir gibi karşılaştırmalardır. Örnek.
let sayi1 = 12;
let sayi2 = -12;
alert(sayi1 > sayi2); // true
alert(sayi1 < sayi2); //false
alert(sayi1 > sayi1); //false
alert(sayi1 < sayi1); //false
alert(sayi1 >= sayi1); //true
alert(sayi1 <= sayi1); //trueDeğerlerin sayı tipinde olmasına gerek yoktur. Sayısal değerler farklı tipte olsalar da değerleri üzerinden karşılaştırılırlar.
alert('15' > '25'); // false
alert(25 > '15'); // true
alert('15' > '25'); // false
alert(true > false); //true (Boolean true=1 false=0)
alert(false > true); //false (Boolean true=1 false=0)Javascript'te karakterler Unicode Karakter Kodlaması'na göre bit değerleri üzerinden karşılaştırılır. Örneğin:
a
U+0061
0x0061
A
U+0041
0x0041
Karakter dizisi sırayla ilk karakterden başlanarak karşılaştırılır. Bu tabloya göre karşılaştırmalar yapalım.
Aynı sonuç çünkü 'TR' karakterleri ikisinde de aynı olduğu için sonuç çıkana kadar karakterleri kontrol etmeye devam eder. Sayısal olmayan değerler ile sayısal olanları karşılaştırıldığında sayısal olmayanlar NaN değerine çevrildiği için tüm karşılaştırmalar false olarak çıkar.
Eşitlik karşılaştırmaları iki veya üç = sembolü ile yapılır. == sembolü ile sadece değer, === sembolü ile hem tip hem de değer karşılaştırması yapılır. Üç = sembolü ile yapılan karşılaştırmalar sıkı karşılaştırmalardır. Tek = sembolü atama operatörüdür karşılaştırma yapmaz. Örnek.
Eşitsizlik (Eşit Değil mi?) karşılaştırmaları da iki şekilde yapılır. != sembolü ile sadece değer !== sembolü ile hem tip hem de değer karşılaştırması yapılır. Örnek.
Undefined, Null ve NaN değerlerinin karşılaştırmaları beklenmeyen sonuçlar verebilir. Undefined değeri karşılaştırmalarda NaN değerine döner, Null değeri ise 0 değerine döner. NaN ile yapılan bütün karşılaştırmaların false sonucunu vereceğini unutmayınız.
Bu sebeple sıkı karşılaştırma olan === operatörünü kullanmanız önerilir.
Dahili Karşılaştırmalar
Dahili karşılaştırmalar dilde fonksiyon veya metotlarla yaptığımız karşılaştırmadır. Örneğin NaN, Infinity, Integer vb. değerlerini kontrol etmemizi sağlayan metot veya fonksiyonlar vardır. Örnek.
Bu karşılaştırmalar daha önce string konusunda işlenmiştir. Karşılaştırma sonucu olarak true false vermektedir.
Bu karşılaştırmalar yine true false sonuç veren dahili karşılaştırmalardır. Referans Veri Tipleri konusu ile işlenecektir.
Last updated