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.
Değerlerin sayı tipinde olmasına gerek yoktur. Sayısal değerler farklı tipte olsalar da değerleri üzerinden karşılaştırılırlar.
Javascript'te karakterler Unicode Karakter Kodlaması'na göre bit değerleri üzerinden karşılaştırılır. Örneğin:
Harf | Unicode | UTF-16 |
---|---|---|
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.
==
Değerler Eşit mi? | ===
Tipler ve Değerler Eşit mi?
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.
.includes() | .endsWith() | .startsWith()
Bu karşılaştırmalar daha önce string konusunda işlenmiştir. Karşılaştırma sonucu olarak true
false
vermektedir.
Array.isArray() | instanceof
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