Ders İçeriği
Giriş
JavaScript'te, veriler üzerinde işlem yapmak ve değerler üretmek için operatörleri kullanırız. Operatörler, değişkenler ve değerlerle birleşerek ifadeleri (expressions) oluşturur. Bu derste, JavaScript'teki temel operatör türlerini ve ifadelerin nasıl çalıştığını öğreneceğiz.
Operatörler, programlamanın temel yapı taşlarından biridir. Değişkenlere değer atamak, matematiksel hesaplamalar yapmak, değerleri karşılaştırmak ve mantıksal kararlar vermek için operatörlere ihtiyaç duyarız. İfadeler ise, bir değer üreten kod parçalarıdır ve genellikle operatörler ve operandlardan (operatörlerin üzerinde işlem yaptığı değerler) oluşur.
Aritmetik Operatörler
Aritmetik operatörler, matematiksel hesaplamalar yapmak için kullanılır. Temel aritmetik operatörler şunlardır:
- Toplama (+): İki sayıyı toplar.
- Çıkarma (-): Bir sayıdan diğerini çıkarır.
- Çarpma (*): İki sayıyı çarpar.
- Bölme (/): Bir sayıyı diğerine böler.
- Mod Alma (%): Bir sayının diğerine bölümünden kalanı verir.
- Artırma (++): Bir sayının değerini 1 artırır.
- Azaltma (--): Bir sayının değerini 1 azaltır.
- Üs Alma (**): Bir sayının üssünü alır (ES6+).
Not: ++ ve -- operatörleri, değişkenin önüne (ön ek) veya arkasına (son ek) yazılabilir. Ön ek (++sayac) kullanıldığında, önce değer artırılır, sonra ifade kullanılır. Son ek (sayac++) kullanıldığında, önce ifade kullanılır, sonra değer artırılır.
Atama Operatörleri
Atama operatörleri, değişkenlere değer atamak için kullanılır. En temel atama operatörü eşittir (=) işaretidir. Ayrıca, aritmetik işlemleri atama ile birleştiren bileşik atama operatörleri de vardır:
- Atama (=): Sağdaki değeri soldaki değişkene atar.
- Toplayarak Atama (+=): Soldaki değişkenin değerine sağdaki değeri ekler ve sonucu soldaki değişkene atar.
- Çıkararak Atama (-=): Soldaki değişkenin değerinden sağdaki değeri çıkarır ve sonucu soldaki değişkene atar.
- Çarparak Atama (*=): Soldaki değişkenin değerini sağdaki değerle çarpar ve sonucu soldaki değişkene atar.
- Bölerek Atama (/=): Soldaki değişkenin değerini sağdaki değere böler ve sonucu soldaki değişkene atar.
- Mod Alarak Atama (%=): Soldaki değişkenin değerinin sağdaki değere bölümünden kalanı alır ve sonucu soldaki değişkene atar.
- Üs Alarak Atama (**=): Soldaki değişkenin değerinin üssünü sağdaki değere göre alır ve sonucu soldaki değişkene atar (ES6+).
Karşılaştırma Operatörleri
Karşılaştırma operatörleri, iki değeri karşılaştırmak ve sonuç olarak bir boolean (true veya false) değer döndürmek için kullanılır. Bu operatörler, genellikle koşullu ifadelerde (bir sonraki derste göreceğiz) kullanılır.
- Eşit (==): İki değerin eşit olup olmadığını kontrol eder (tip dönüşümü yapar).
- Eşit Değil (!=): İki değerin eşit olmadığını kontrol eder (tip dönüşümü yapar).
- Katı Eşit (===): İki değerin hem değer hem de tip olarak eşit olup olmadığını kontrol eder (tip dönüşümü yapmaz).
- Katı Eşit Değil (!==): İki değerin değer veya tip olarak eşit olmadığını kontrol eder (tip dönüşümü yapmaz).
- Büyük (>): Soldaki değerin sağdaki değerden büyük olup olmadığını kontrol eder.
- Küçük (<): Soldaki değerin sağdaki değerden küçük olup olmadığını kontrol eder.
- Büyük veya Eşit (>=): Soldaki değerin sağdaki değerden büyük veya eşit olup olmadığını kontrol eder.
- Küçük veya Eşit (<=): Soldaki değerin sağdaki değerden küçük veya eşit olup olmadığını kontrol eder.
Uyarı: == ve != operatörleri, karşılaştırma yapmadan önce değerlerin tiplerini dönüştürmeye çalışır. Bu bazen beklenmedik sonuçlara yol açabilir. Genellikle, hem değeri hem de tipi kontrol eden katı eşitlik operatörlerini (=== ve !==) kullanmak daha güvenlidir.
Mantıksal Operatörler
Mantıksal operatörler, boolean değerler üzerinde mantıksal işlemler yapmak için kullanılır. Genellikle birden fazla koşulu birleştirmek için kullanılırlar.
- Mantıksal VE (&&): Her iki koşul da
trueisetruedöndürür. - Mantıksal VEYA (||): Koşullardan en az biri
trueisetruedöndürür. - Mantıksal DEĞİL (!): Bir boolean değerin tersini alır (
trueisefalse,falseisetrueyapar).
İpucu: Mantıksal operatörler "kısa devre" (short-circuiting) davranışına sahiptir. && operatöründe, ilk koşul false ise ikinci koşul değerlendirilmez. || operatöründe, ilk koşul true ise ikinci koşul değerlendirilmez. Bu, performansı artırabilir ve bazı durumlarda hataları önleyebilir.
Diğer Operatörler
Yukarıda bahsedilen temel operatörlerin yanı sıra, JavaScript'te başka operatörler de bulunur:
- Koşul Operatörü (Ternary Operator) (
? :): Üç operand alan tek operatördür. Bir koşulu değerlendirir ve koşul doğruysa bir değeri, yanlışsa başka bir değeri döndürür.koşul ? deger_dogruysa : deger_yanlissaşeklinde kullanılır. - typeof Operatörü: Bir değişkenin veya ifadenin veri tipini string olarak döndürür.
- instanceof Operatörü: Bir nesnenin belirli bir sınıfın örneği olup olmadığını kontrol eder.
- delete Operatörü: Bir nesnenin özelliğini siler.
- in Operatörü: Belirtilen özelliğin bir nesnede olup olmadığını kontrol eder.
- Virgül Operatörü (
,): Birden fazla ifadeyi tek bir ifadede birleştirmek için kullanılır. Genelliklefordöngülerinde kullanılır.
Operatör Önceliği ve Gruplama
Bir ifadede birden fazla operatör olduğunda, JavaScript'in hangi işlemi önce yapacağını belirleyen kurallar vardır. Buna operatör önceliği denir. Örneğin, çarpma ve bölme işlemleri, toplama ve çıkarma işlemlerinden önce yapılır.
Operatör önceliği kurallarını ezberlemek yerine, işlemlerin sırasını kontrol etmek ve kodu daha okunabilir hale getirmek için parantez () kullanmak iyi bir pratiktir.
Operatör önceliği tablosuna MDN web docs üzerinden ulaşabilirsiniz.
İfadeler (Expressions)
JavaScript'te bir ifade, bir değer üreten herhangi bir kod parçasıdır. İfadeler şunları içerebilir:
- Değişkenler (
x,isim) - Sayısal değerler (
10,3.14) - String değerler (
"Merhaba") - Boolean değerler (
true,false) - Operatörler ve operandlar (
x + 5,yas >= 18) - Fonksiyon çağrıları (
hesapla(5, 3))
JavaScript motoru, bir ifadeyi değerlendirir ve sonuç olarak tek bir değer üretir. Bu değer daha sonra bir değişkene atanabilir, bir fonksiyona argüman olarak gönderilebilir veya başka bir ifadede kullanılabilir.
Alıştırmalar
- İki değişken tanımlayın (örneğin,
uzunluk = 10,genislik = 5) ve bu değişkenleri kullanarak bir dikdörtgenin alanını ve çevresini hesaplayan ifadeler yazın. Sonuçları konsola yazdırın. - Bir değişkenin (örneğin,
sicaklik = 25) 0'dan büyük ve 30'dan küçük olup olmadığını kontrol eden bir mantıksal ifade yazın. Sonucu konsola yazdırın. - Bir sayının tek mi çift mi olduğunu kontrol etmek için mod alma (
%) operatörünü kullanan bir ifade yazın. (İpucu: Çift sayıların 2'ye bölümünden kalan 0'dır). - Koşul operatörünü (ternary) kullanarak, bir öğrencinin notuna (örneğin,
not = 65) göre "Başarılı" veya "Başarısız" sonucunu veren bir ifade yazın (Geçme notu 50).
Bu derste JavaScript'teki temel operatörleri ve ifadeleri öğrendik:
- Aritmetik Operatörler: Matematiksel hesaplamalar yapar (+, -, *, /, %, ++, --, **).
- Atama Operatörleri: Değişkenlere değer atar (=, +=, -=, *=, /=, %=, **=).
- Karşılaştırma Operatörleri: Değerleri karşılaştırır ve boolean sonuç döndürür (==, !=, ===, !==, >, <, >=, <=).
- Mantıksal Operatörler: Boolean değerler üzerinde mantıksal işlemler yapar (&&, ||, !).
- Diğer Operatörler: Koşul operatörü, typeof, instanceof gibi çeşitli işlevlere sahip operatörler.
- Operatör Önceliği: Birden fazla operatör olduğunda işlemlerin yapılma sırasını belirler. Parantezler önceliği değiştirmek için kullanılır.
- İfadeler: Bir değer üreten kod parçalarıdır.
Operatörler ve ifadeler, JavaScript kodunun temelini oluşturur ve programların mantığını kurmamızı sağlar. Sonraki derste, karşılaştırma ve mantıksal operatörleri kullanarak program akışını kontrol etmemizi sağlayan koşullu ifadeleri öğreneceğiz.