Dalam tutorial ini, Anda akan mempelajari cara menggunakan operator unary JavaScript yang mengambil satu operand dan melakukan operasi.
Pengantar Operator Unary JavaScript
Operator unary bekerja pada satu nilai. Tabel berikut menunjukkan operator unary dan maknanya:
Unary Operators | Name | Meaning |
---|---|---|
+x | Unary Plus | Mengubah nilai menjadi angka |
-x | Unary Minus | Mengubah nilai menjadi angka dan mengubahnya menjadi negatif |
++x | Increment Operator (Prefix) | Menambahkan satu pada nilai |
–x | Decrement Operator (Prefix) | Mengurangkan satu dari nilai |
x++ | Increment Operator (Postfix) | Menambahkan satu pada nilai |
x– | Decrement Operator (Postfix) | Mengurangkan satu dari nilai |
Unary Plus (+)
Operator unary plus adalah tanda tambah sederhana (+). Jika Anda menempatkan unary plus sebelum nilai numerik, itu tidak melakukan apa-apa. Contohnya:
let x = 10;
let y = +x;
console.log(y); // 10
Ketika Anda menerapkan operator unary plus pada nilai non-numerik, itu melakukan konversi angka menggunakan fungsi Number() dengan aturan sebagai berikut:
Value | Result |
---|---|
boolean | false menjadi 0, true menjadi 1 |
string | Mengonversi nilai string berdasarkan aturan tertentu |
object | Memanggil metode valueOf() dan/atau toString() untuk mendapatkan nilai yang dikonversi menjadi angka |
Contohnya, operator unary plus digunakan untuk mengonversi string ’10’ menjadi angka 10:
let s = '10';
console.log(+s); // 10
Contoh berikut menggunakan operator unary plus (+) untuk mengonversi nilai boolean menjadi angka, false menjadi 0 dan true menjadi 1.
let f = false,
t = true;
console.log(+f); // 0
console.log(+t); // 1
Output:
0
1
Misalkan Anda memiliki objek produk dengan metode toString() sebagai berikut:
let person = {
name: 'John',
toString: function () {
return '25';
},
};
console.log(+person);
Output:
25
Pada contoh ini, kita menerapkan operator unary plus (+) pada objek person yang memiliki metode toString(). Mesin JavaScript memanggil metode toString() untuk mendapatkan nilai (’25’) dan mengonversinya menjadi angka. Berikut menambahkan metode valueOf() pada objek person:
let person = {
name: 'John',
toString: function () {
return '25';
},
valueOf: function () {
return '30';
},
};
console.log(+person);
Output:
30
Pada contoh ini, objek person memiliki metode valueOf(), mesin JavaScript memanggilnya daripada metode toString() untuk mendapatkan nilai yang dikonversi.
Unary Minus (-)
Operator unary minus adalah tanda minus tunggal (-). Jika Anda menerapkan operator unary minus pada angka, itu mengubah angka tersebut menjadi negatif. Contohnya:
let x = 10;
let y = -x;
console.log(y); // -10
Jika Anda menerapkan operator unary minus pada nilai non-numerik, itu mengonversi nilai menjadi angka menggunakan aturan yang sama seperti operator unary plus, lalu mengubah nilainya menjadi negatif.
Operator Increment/Decrement
Operator increment memiliki dua tanda plus (++), sementara operator decrement memiliki dua tanda minus (–).
Kedua operator increment dan decrement memiliki dua versi: prefix dan postfix. Dan Anda menempatkan versi prefix dan postfix dari operator increment atau decrement sebelum dan setelah variabel yang dikenai.
Contoh berikut menggunakan operator increment prefix untuk menambah satu pada variabel:
let age = 25;
++age;
console.log(age); // 26
Setara dengan:
let age = 25;
age = age + 1;
console.log(age); // 26
Contoh berikut menggunakan operator decrement prefix untuk mengurangkan satu dari variabel:
let weight = 90;
--weight;
console.log(weight); // 89
Setara dengan:
let weight = 90;
weight = weight - 1;
console.log(weight); // 89
Ketika Anda menerapkan prefix increment atau decrement, JavaScript mengubah variabel sebelum mengevaluasi pernyataan. Contohnya:
let weight = 90;
weight = ++weight + 5;
console.log(weight); // 96
Pada contoh ini:
Pertama, tingkatkan berat di sisi kanan sehingga ++weight adalah 91 Kedua, tambahkan lima pada ++weight yang mengembalikan 96 Ketiga, berikan hasilnya pada berat di sisi kiri.
Demikian pula, contoh berikut menggunakan prefix decrement operator:
let weight = 90;
weight = --weight + 5;
console.log(weight); // 94
Pada contoh ini:
Pertama, kurangkan satu dari berat, –weight mengembalikan 89 Kedua, tambahkan lima pada –weight yang mengembalikan 94 Ketiga, berikan hasilnya pada berat di sisi kiri.
Postfix increment atau decrement operator mengubah nilai setelah pernyataan dievaluasi. Contohnya:
let weight = 90;
let newWeight = weight++ + 5;
console.log(newWeight); // 95
console.log(weight); // 91
Cara kerjanya:
- Pertama, tambahkan lima pada berat (90) dan berikan hasilnya pada newWeight (95)
- Kedua, tambahkan satu pada variabel berat setelah pernyataan kedua selesai dievaluasi, berat menjadi 91.
- Ketiga, tampilkan newWeight dan berat ke konsol.
Ketika menerapkan operator increment/decrement pada nilai non-numerik, itu melakukan langkah-langkah berikut:
- Pertama, mengonversi nilai menjadi angka menggunakan aturan yang sama seperti operator unary plus (+).
- Kemudian, menambahkan satu atau mengurangkan satu dari nilai.
Ringkasan
- Operator unary bekerja pada satu nilai. Unary plus (+) atau minus (-) mengonversi nilai non-numerik menjadi angka.
- Unary minus mengubah nilai setelah konversi. Operator increment prefix menambah satu pada nilai. Nilainya berubah sebelum pernyataan dievaluasi.
- Operator increment postfix menambah satu pada nilai. Nilainya berubah setelah pernyataan dievaluasi.
- Operator decrement prefix mengurangkan satu dari nilai. Nilainya berubah sebelum pernyataan dievaluasi.
- Operator decrement postfix mengurangkan satu dari nilai. Nilainya berubah setelah pernyataan dievaluasi.