Bir atama operatörü, sağ tarafındaki değere bağlı olarak sol tarafındaki değişkene değer ataması yapar. Basit atama operatörü eşittir(=) sağ tarfındaki değeri sol tarafındaki değişkene atamak için kullanır.
Örneğin x=y şeklinde yapılan bir atama işleminde y değişkeni içindeki değeri x değişkenine atama yapmak için kullanılmıştır.
Aşağıdaki tabloda atama operatörlerinin bileşik ve kısaltılmış kullanımları gösterilmiştir.
Bileşik Atama Operatörleri
Adı | Kısa Kullanım | Kullanımı |
---|---|---|
Atama | x = y | x = y |
Ekleme İşlemi | x += y | x = x + y |
Çıkarma İşlemi | x -= y | x = x - y |
İşlemi | x *= y | x = x * y |
Bölme İşlemi | x /= y | x = x / y |
Kalan İşlemi | x %= y | x = x % y |
Üssel Atama İşlemi | x **= y | x = x ** y |
Sola Kaydırma | x <<= y | x = x << y |
Sağa Kaydırma | x >>= y | x = x >> y |
İşaretsiz Sağa Kaydırma | x >>>= y | x = x >>> y |
Bitsel AND | x &= y | x = x & y |
Bitsel XOR | x ^= y | x = x ^ y |
Bitsel OR | x |= y | x = x | y |
Örnek Kullanım
Atama İşlemi
// Değişkenlerin değeri aşağıdaki gibi olduğunu varsayarak // x = 5 // y = 10 // z = 25 x = y // x 10 olur x = y = z // x, y ve z artık 25 değerindedir
Arttırma Operatörü
// Değişken değerleri aşağıdaki gibi olduğunu varsayalım
// foo = "foo"
// bar = 5
// baz = true
// Number + Number -> toplama
bar += 2 // 7
// Boolean + Number -> toplama
baz += 1 // 2
// Boolean + Boolean -> toplama
baz += false // 1
// Number + String -> birleştirme
bar += "foo" // "5foo"
// String + Boolean -> birleştirme
foo += false // "foofalse"
// String + String -> birleştirme
foo += "bar" // "foobar"
Çıkarma İşlemi
// Değişken aşağıdaki gibi olduğunu varsayarak // bar = 5 bar -= 2 // 3 bar -= "foo" // NaN
Çarpma İşlemi
// Değişken aşağıdaki gibi varsayıldığında // bar = 5 bar *= 2 // 10 bar *= "foo" // NaN
Bölme İşlemi
// Değişken aşağıdaki gibi varsayıldığında // bar = 5 bar /= 2 // 2.5 bar /= "foo" // NaN bar /= 0 // Infinity
Kalan İşlemi
// Değişken aşağıdaki gibi varsayıldığında // bar = 5 bar %= 2 // 1 bar %= "foo" // NaN bar %= 0 // NaN
Üssalma İşlemi
// Değişken aşağıdaki gibi varsayıldığında // bar = 5 bar **= 2 // 25 bar **= "foo" // NaN
Sola Kaydırma İşlemi
var bar = 5; // (00000000000000000000000000000101) bar <<= 2; // 20 (00000000000000000000000000010100)
Sağa Kaydırma
var bar = 5; // (00000000000000000000000000000101) bar >>= 2; // 1 (00000000000000000000000000000001) var bar -5; // (-00000000000000000000000000000101) bar >>= 2; // -2 (-00000000000000000000000000000010)
İşaretsiz Sağa Kaydırma
var bar = 5; // (00000000000000000000000000000101) bar >>>= 2; // 1 (00000000000000000000000000000001) var bar = -5; // (-00000000000000000000000000000101) bar >>>= 2; // 1073741822 (00111111111111111111111111111110)
Bitsel AND(VE)
var bar = 5; // 5: 00000000000000000000000000000101 // 2: 00000000000000000000000000000010 bar &= 2; // 0
Bitsel XOR(ÖZEL VEYA)
var bar = 5; bar ^= 2; // 7 // 5: 00000000000000000000000000000101 // 2: 00000000000000000000000000000010 // ----------------------------------- // 7: 00000000000000000000000000000111
Bitsel OR(VEYA)
var bar = 5; bar |= 2; // 7 // 5: 00000000000000000000000000000101 // 2: 00000000000000000000000000000010 // ----------------------------------- // 7: 00000000000000000000000000000111
Kaynak:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators