JavaScript’te “Bang Bang” (!!) Operatörü

Bu yazımızda, JavaScript’te bang bang ya da double bangs olarak adlandırılan !! operatörüne odaklanacağız. Bang bang, iki ünlem işaretinden oluşur ve özellikle koşullu ifadelerle veya boolean değerlerle çalışırken kullanılır.

Eğer JavaScript’te bu operatörü kullanmadıysanız veya ne işe yaradığını tam olarak bilmiyorsanız, endişelenmeyin. Bu yazı, !! operatörü hakkında tüm merak ettiklerinizi cevaplayacaktır.

“Bang Bang” (!!) Operatörü

JavaScript’te !! operatörü, bir değerin boolean karşılığını döndürür. Yani, bir ifadeye !! operatörü uygulandığında, sonuç her zaman true veya false şeklinde olacaktır. Yani bu demektir ki bang bang bir değerin Boolean karşılığını döndürmek için kullanılan bir tür dönüşüm işlemidir.

“Neden adı bang bang?” diye bir sorabilirsiniz. Aslında “Bang” terimi, programlama jargonunda ünlem işareti (!) için kullanılan argo bir terimdir. Bu nedenle, ünlem işaretini iki kez kullanınca da adı “Bang Bang” olmuştur. Örnek üzerinden gösterelim:

Yukarıdaki örnekte, maybeTruthy adında bir değişken tanımladık ve ona bir string değeri atadık. Stringler boş olmadıklarında doğru (truthy) olarak değerlendirilirler. Ancak bu doğruluk durumu kesin bir boolean değil, sadece doğru gibi davranan bir değerdir. !! işlemiyle bu değeri kesin bir boolean değere (true veya false) dönüştürüyoruz. Bir başka örneği inceleyelim:

Yukarıdaki örnekte, !! işareti kullanarak myVar değişkeninin Boolean değerini döndürüyoruz. İlk durumda, myVar boş bir dize olduğu için, !!myVar ifadesi false değerini döndürmektedir. İkinci durumda ise, myVar değişkeni ‘hello’ olarak tanımlandığından, !!myVar ifadesi true değerini döndürmüştür.

Yukarıdaki örnekte boş dizenin (“”) false döndürdüğünü fark etmişsinizdir. Bu durumda hangi ifadelerin false olarak kabul edildiğini merak edebilirsiniz. Aşağıdaki ifadeler false olarak kabul edilir:

  • false
  • 0
  • NaN
  • null
  • undefined
  • '', ""

Yani, JavaScript’te bang bang (!!) operatörü ile birlikte, yukarıdaki ifadelerin boolean karşılıklarının false olduğunu söyleyebiliriz. Bunun dışında kalan ifadeler ise true değerini döndürecektir. Bu bilgi, özellikle koşullu ifadelerde veya değerlerin kontrolünde oldukça faydalı olabilir. Örneğin:

Yukarıdaki kod arka planda aslında aşağıdaki gibi çalışacaktır:

x’in sayısal değerinin 1 olması, onu true olarak döndürecektir. Bundan dolayı kodumuzun if ve while blokları içinde çalışması mümkün olmuştur.

Özetle, JavaScript’te Bang Bang işlemi (yani !!), bir değeri doğru ya da yanlış (true veya false) olacak şekilde zorlamak için kullanılır. Bu işlem, özellikle bir değerin doğruluk durumunu kontrol etmek istediğimizde veya bir değeri kesin olarak boolean türüne dönüştürmemiz gerektiğinde kullanışlıdır.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu