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
1 2 3 4 5 6 7 8 9 |
// 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ü
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<span class="token comment" spellcheck="true">// Değişken değerleri aşağıdaki gibi olduğunu varsayalım</span> <span class="token comment" spellcheck="true">// foo = "foo"</span> <span class="token comment" spellcheck="true">// bar = 5</span> <span class="token comment" spellcheck="true">// baz = true</span> <span class="token comment" spellcheck="true">// Number + Number -> toplama</span> bar <span class="token operator">+</span><span class="token operator">=</span> <span class="token number">2</span> <span class="token comment" spellcheck="true">// 7</span> <span class="token comment" spellcheck="true">// Boolean + Number -> toplama</span> baz <span class="token operator">+</span><span class="token operator">=</span> <span class="token number">1</span> <span class="token comment" spellcheck="true">// 2</span> <span class="token comment" spellcheck="true">// Boolean + Boolean -> toplama</span> baz <span class="token operator">+</span><span class="token operator">=</span> <span class="token keyword">false</span> <span class="token comment" spellcheck="true">// 1</span> <span class="token comment" spellcheck="true">// Number + String -> birleştirme</span> bar <span class="token operator">+</span><span class="token operator">=</span> <span class="token string">"foo"</span> <span class="token comment" spellcheck="true">// "5foo"</span> <span class="token comment" spellcheck="true">// String + Boolean -> birleştirme</span> foo <span class="token operator">+</span><span class="token operator">=</span> <span class="token keyword">false</span> <span class="token comment" spellcheck="true">// "foofalse"</span> <span class="token comment" spellcheck="true">// String + String -> birleştirme</span> foo <span class="token operator">+</span><span class="token operator">=</span> <span class="token string">"bar"</span> <span class="token comment" spellcheck="true">// "foobar"</span> |
Çıkarma İşlemi
1 2 3 4 5 6 7 |
// Değişken aşağıdaki gibi olduğunu varsayarak // bar = 5 bar -= 2 // 3 bar -= "foo" // NaN |
Çarpma İşlemi
1 2 3 4 5 6 7 |
// Değişken aşağıdaki gibi varsayıldığında // bar = 5 bar *= 2 // 10 bar *= "foo" // NaN |
Bölme İşlemi
1 2 3 4 5 6 7 8 |
// Değişken aşağıdaki gibi varsayıldığında // bar = 5 bar /= 2 // 2.5 bar /= "foo" // NaN bar /= 0 // Infinity |
Kalan İşlemi
1 2 3 4 5 6 7 8 |
// Değişken aşağıdaki gibi varsayıldığında // bar = 5 bar %= 2 // 1 bar %= "foo" // NaN bar %= 0 // NaN |
Üssalma İşlemi
1 2 3 4 5 6 7 |
// Değişken aşağıdaki gibi varsayıldığında // bar = 5 bar **= 2 // 25 bar **= "foo" // NaN |
Sola Kaydırma İşlemi
1 2 3 4 |
var bar = 5; // (00000000000000000000000000000101) bar <<= 2; // 20 (00000000000000000000000000010100) |
Sağa Kaydırma
1 2 3 4 5 6 7 |
var bar = 5; // (00000000000000000000000000000101) bar >>= 2; // 1 (00000000000000000000000000000001) var bar -5; // (-00000000000000000000000000000101) bar >>= 2; // -2 (-00000000000000000000000000000010) |
İşaretsiz Sağa Kaydırma
1 2 3 4 5 6 7 |
var bar = 5; // (00000000000000000000000000000101) bar >>>= 2; // 1 (00000000000000000000000000000001) var bar = -5; // (-00000000000000000000000000000101) bar >>>= 2; // 1073741822 (00111111111111111111111111111110) |
Bitsel AND(VE)
1 2 3 4 5 6 |
var bar = 5; // 5: 00000000000000000000000000000101 // 2: 00000000000000000000000000000010 bar &= 2; // 0 |
Bitsel XOR(ÖZEL VEYA)
1 2 3 4 5 6 7 8 |
var bar = 5; bar ^= 2; // 7 // 5: 00000000000000000000000000000101 // 2: 00000000000000000000000000000010 // ----------------------------------- // 7: 00000000000000000000000000000111 |
Bitsel OR(VEYA)
1 2 3 4 5 6 7 8 |
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
[…] JavaScript Dersleri 3.2: Atama Operatörleri […]
[…] JavaScript Atama Operatörleri […]