Anasayfa / JAVASCRIPT / JavaScript Operatörleri

JavaScript Operatörleri

Önceki rehberlerimizde JavaScript’in temellerini ve verileri depolamak için değişkenleri (variables) nasıl kullandığımızı öğrendik. Ancak sadece verileri depolamak, dinamik ve etkileşimli bir web sitesi veya uygulama oluşturmak için yeterli değildir. Sakladığımız bu verilerle işlem yapmak, onları değiştirmek, hesaplamalar yapmak ve birbirleriyle karşılaştırmak için “operatörlere” (operators) ihtiyacımız vardır.

Operatörler, adından da anlaşılacağı gibi, değişkenlerimiz üzerinde işlem (operasyon) yapmamızı sağlayan özel karakterler veya kelimelerdir. Bu kapsamlı rehberde, JavaScript dilindeki en temel ve en çok kullanılan operatör türlerini bol örneklerle inceleyeceğiz.


1. Aritmetik Operatörler (Arithmetic Operators)

Aritmetik operatörler, sayılarla matematiksel işlemler yapmak için kullanılır. Çoğu, okulda öğrendiğimiz temel matematik kurallarıyla aynı şekilde çalışır.

Toplama (+): İki sayıyı toplamak için kullanılır.

let sayi1 = 12;
let sayi2 = 14;
let sonuc = sayi1 + sayi2; // Sonuç: 26

Toplama operatörünün JavaScript’e özgü çok önemli bir diğer görevi de metin birleştirmedir (string concatenation). Eğer iki metni (string) toplarsanız, JavaScript bunları yan yana ekler:

let metin1 = "Hello ";
let metin2 = "JavaScript";
let sonucMetin = metin1 + metin2; // Sonuç: "Hello JavaScript"

Çıkarma (-): Bir değerden diğerini çıkarmak için kullanılır.

let sonuc = 20 - 4; // Sonuç: 16

Çarpma (*): İki değeri çarpmak için kullanılır. Ancak JavaScript’te bir sayı ile bir metni çarpmaya çalışırsanız, sonucun sayı olmadığını belirten NaN (Not a Number) değerini alırsınız.

Bölme (/): Bir değeri diğerine bölmek için kullanılır. 30 / 5 işlemi 6 sonucunu verir.

Üs Alma (**): Bir sayının üssünü (kuvvetini) almak için kullanılır. Örneğin x ** y ifadesi, “x üzeri y” anlamına gelir.

let usSonucu = 2 ** 3; // 2 * 2 * 2 işlemi yapılır. Sonuç: 8

Modül (Kalan) Operatörü (%): Yeni başlayanların en çok kafasını karıştıran operatörlerden biridir. Modül, bir sayının diğerine bölümünden kalan değeri verir.

let kalan1 = 10 % 3; // 10'un içinde 3, üç defa vardır (9). Geriye 1 kalır. Sonuç: 1
let kalan2 = 8 % 2; // 8'in içinde 2 tam bölünür. Geriye bir şey kalmaz. Sonuç: 0

İpucu: Modül operatörü genellikle bir sayının çift mi yoksa tek mi olduğunu bulmak için (sayı % 2) sıklıkla kullanılır.

Artırma (++) ve Azaltma (--) Operatörleri: Bu operatörler sadece tek bir değişken (operand) ile çalıştıkları için “tekil (unary) operatörler” olarak da adlandırılırlar. Değeri 1 artırmak veya 1 azaltmak için kullanılırlar.

let x = 4;
x++; // x'in yeni değeri 5 olur
let y = 4;
y--; // y'nin yeni değeri 3 olur

Bu operatörleri değişkenin önüne (++x) veya arkasına (x++) koyabilirsiniz. Eğer arkasına koyarsanız (postfix), JavaScript önce işlemi yapar sonra artırır; önüne koyarsanız (prefix), önce artırır sonra işlemi yapar,.


2. Atama Operatörleri (Assignment Operators)

Değişkenlere değer atamak için kullandığımız temel eşittir (=) karakteri bir atama operatörüdür. Ancak kod yazımını kısaltmak için aritmetik operatörlerle eşittir işaretini birleştirebiliriz.

  • x += 5 ifadesi, x = x + 5 ile tamamen aynıdır.
  • x -= 2 ifadesi, x = x - 2 anlamına gelir.
  • x *= 6 ifadesi, değişkenin mevcut değerini 6 ile çarpıp tekrar değişkene atar.
  • x %= 3 ifadesi, mevcut değerin 3’e bölümünden kalanı yeni değer olarak belirler.

Bu birleşik operatörler, özellikle döngülerde ve sayaçlarda kodumuzu çok daha temiz ve kısa hale getirir.


3. Karşılaştırma Operatörleri (Comparison Operators)

Bu operatörler, iki değeri birbiriyle kıyaslar ve sonucunda her zaman bir Boolean değeri, yani true (doğru) veya false (yanlış) döndürür. Karar verme mekanizmalarının (if-else mantığının) bel kemiğidir.

Eşitlik (== ve ===): JavaScript’te iki farklı eşitlik operatörü vardır ve aralarındaki farkı bilmek hayati önem taşır.

  • Esnek Eşitlik (==): Sadece değerlerin aynı olup olmadığına bakar, veri tipini (data type) önemsemez.
  • Sıkı Eşitlik (===): Hem değerlerin hem de veri tiplerinin kesinlikle aynı olmasını şart koşar.
let a = 5;
let b = "5";

console.log(a == b);  // true (Çünkü ikisinin de değeri 5)
console.log(a === b); // false (Biri Number, diğeri String olduğu için tipler uyuşmuyor)

En iyi uygulama (Best practice): Beklenmedik hatalardan (bug) kaçınmak için modern JavaScript geliştirmelerinde her zaman üçlü eşittir (===) kullanmalısınız.

Eşit Değildir (!= ve !==): Tıpkı eşitlikte olduğu gibi, iki değerin birbirine eşit olmadığını kontrol eder. !== kullanımı, veri tiplerini de hesaba kattığı için daha güvenlidir.

Büyüktür ve Küçüktür (>, <, >=, <=): Matematikteki kullanımlarıyla aynıdır.

  • > : Sol taraf sağdan büyükse true döndürür.
  • < : Sol taraf sağdan küçükse true döndürür.
  • >= : Büyük veya eşitse true döndürür.
  • <= : Küçük veya eşitse true döndürür.

4. Mantıksal Operatörler (Logical Operators)

Aynı anda birden fazla koşulu kontrol etmeniz gerektiğinde mantıksal operatörler devreye girer.

VE Operatörü (&&): Koşulların tamamının doğru (true) olmasını şart koşar. Eğer koşullardan biri bile yanlışsa, sonuç false çıkar.

let x = 1;
let y = 2;
let z = 3;
console.log(x < y && y < z); // true (Çünkü 1 küçüktür 2'den VE 2 küçüktür 3'ten)

VEYA Operatörü (||): Koşullardan sadece birinin doğru (true) olması, tüm ifadenin true kabul edilmesi için yeterlidir. Sadece iki taraf da yanlışsa sonuç false olur.

console.log(x > y || y < z); // true (x, y'den büyük değil ama y, z'den küçük olduğu için sonuç true)

DEĞİL Operatörü (!): Bir Boolean değerini tam tersine çevirir.

let x = false;
console.log(!x); // true (False'un tersi true'dur)


5. Üçlü (Ternary) Operatör

JavaScript’te üç farklı değer alan (operand) tek operatör olduğu için bu ismi almıştır. Kısa ve tek satırlık if-else (eğer-değilse) durumları için mükemmel bir kısayoldur.

Sözdizimi: koşul ? doğruysa_bu_çalışsın : yanlışsa_bu_çalışsın;

let yas = 20;
let girisIzni = yas < 18 ? "Reddedildi" : "Kabul Edildi";
console.log(girisIzni); // Çıktı: "Kabul Edildi"

Yukarıdaki örnekte önce yaşın 18’den küçük olup olmadığına bakılır. Eğer küçükse (true) ilk değer olan “Reddedildi” atanır, değilse (false) iki nokta üst üste (:) sonrasındaki “Kabul Edildi” atanır.


6. İşlem Önceliği (Operator Precedence)

Operatörleri birleştirerek uzun işlemler yaptığınızda, JavaScript’in hangi işlemi önce yapacağını bilmek önemlidir. Tıpkı matematikteki işlem önceliği gibi çalışır:

  1. Öncelikle Parantez İçleri ( ) hesaplanır.
  2. Sonra Üs alma ** işlemleri.
  3. Ardından Çarpma *, Bölme / ve Modül % işlemleri.
  4. En son Toplama + ve Çıkarma - işlemleri yapılır.

Eğer önceliği değiştirmek isterseniz, işlemi tıpkı matematikteki gibi her zaman parantez ( ... ) içerisine alabilirsiniz.

Sonuç

Değişkenleri bir uygulamanın “isimleri” olarak düşünürsek, operatörler de o uygulamanın “fiilleridir”. Onlar sayesinde verileri işler, karşılaştırır, birleştirir ve modern web uygulamalarındaki karmaşık mantıksal yapıları kurarız. Aritmetik, atama, karşılaştırma ve mantıksal operatörlerin çalışma prensiplerini iyi kavramak, bir sonraki aşama olan Kontrol Akışları (if-else, döngüler) konusuna mükemmel bir zemin hazırlayacaktır. Bol pratik yaparak bu kuralların mantığını tarayıcı konsolunuzda test etmeyi unutmayın!

Etiketlendi:

Cevap bırakın

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