Tutorial Belajar JavaScript Bagian 19 : Operator Unary, Increment & Decrement di JavaScript

Dalam tutorial ini, kita akan mempelajari cara menggunakan operator unary dalam operasi  JavaScript yang digunakan dalam operasi perhitungan.

Pengantar operator unary JavaScript

Operator unary bekerja pada satu nilai. Tabel berikut menunjukkan operator unary dan artinya :

Unary OperatorNamaArti
+xUnary PlusMengubah nilai menjadi angka
-xUnary MinusMengkonversi nilai menjadi angka dan meniadakannya
++xIncrement Operator (Prefix)Tambahkan 1 ke nilainya
–xDecrement Operator (Prefix)Kurangi 1 dari nilainya
x++Increment Operator (Postfix)Tambahkan 1 ke nilainya
x–Decrement Operator (Postfix)Kurangi 1 dari nilainya

Unari plus (+)

Operator plus unary adalah tanda tambah sederhana (+). Jika Anda menempatkan unary plus sebelum nilai numerik, itu tidak mengerjakan apa-apa. Sebagai contoh :

let x = 10;
let y = +x;

console.log(y); // 10

Saat Anda menerapkan operator unary plus ke nilai non-numerik, ia melakukan konversi angka menggunakan fungsi Number() dengan aturan dalam tabel berikut :

NilaiHasil
booleanfalse ke 0true ke 1
stringMengonversi nilai string berdasarkan seperangkat aturan tertentu
objectPanggil metode valueOf() dan/atau toString() untuk mendapatkan nilai yang akan diubah menjadi angka

Sebagai contoh, berikut ini menggunakan operator unary plus untuk mengonversi string ’10’ menjadi angka 10 :

let s = '10';

console.log(+s); // 10

Contoh berikut menggunakan operator unary plus (+) mengubah nilai boolean menjadi angka, salah menjadi 0 dan benar menjadi 1.

let f = false,
     t = true;

console.log(+f); // 0

console.log(+t); // 1

Hasil :

0
1

Anda memiliki objek person dengan metode toString() sebagai berikut :

let person = {
   nama: 'Yohanes',
   toString: function () {
     return '25';
   },
};

console.log(+person);

Hasil :

25

Dalam contoh ini, kami menerapkan operator unary plus (+) pada objek person yang memiliki metode toString(), JavaScript memanggil metode toString() untuk mendapatkan nilai (’25’) dan mengubahnya menjadi angka. Berikut ini menambahkan metode valueOf() ke objek person :

let person = {
   nama: 'Yohanes',
   toString: function () {
     return '25';
   },
   valueOf: function () {
     return '30';
   },
};

console.log(+person);

Hasil :

30

Dalam contoh ini, object person memiliki metode valueOf() , JavaScript memanggilnya alih-alih metode toString() untuk mendapatkan nilai yang akan dikonversi.

Unari minus (-)

Operator unary minus adalah tanda minus tunggal (-). Jika Anda menerapkan operator unary minus ke sebuah bilangan, itu meniadakan bilangan tersebut. Sebagai contoh :

let x = 10;
let y = -x;

console.log(y); // -10

Jika Anda menerapkan operator minus unary ke nilai non-numerik, ini mengubah nilai menjadi angka menggunakan aturan yang sama seperti operator plus unary dan kemudian meniadakan nilainya.

Operator Increment / Decrement

Operator Increment memiliki dua tanda plus (++) sedangkan operator Decrement memiliki dua tanda minus (–).

Operator increment dan decrement memiliki 2 versi: awalan dan akhiran. Dan Anda menempatkan versi prefix dan postfix dari operator increment atau decrement sebelum dan sesudah variabel yang mereka terapkan.

Contoh berikut menggunakan operator penambahan awalan untuk menambahkan satu ke variabel :

let umur = 25;
++umur;

console.log(umur); // 26

Ini setara dengan yang berikut :

let umur = 25;
umur = umur + 1;

console.log(umur); // 26

Contoh berikut menggunakan operator pengurangan awalan untuk mengurangi satu dari variabel :

let berat = 90;
--berat;

console.log(berat); // 89

Ini setara dengan yang berikut :

let berat = 90;
berat = berat - 1;

console.log(berat); // 89

Saat Anda menerapkan increment atau decrement, JavaScript mengubah variabel sebelum mengevaluasi pernyataan. Sebagai contoh :

let berat = 90;
berat = ++berat + 5;

console.log(berat); // 96

Dalam contoh ini:

Pertama, tambahkan berat di sisi kanan sehingga berat ++ menjadi 91

Kedua, tambahkan 5 ke ++berat yang mengembalikan nilai 96

Ketiga, tetapkan hasilnya ke berat di sisi kiri.

Demikian juga, contoh berikut menggunakan operator prefix decrement :

let berat = 90;
berat = --berat + 5;

console.log(berat); // 94

Dalam contoh ini:

  • Pertama, kurangi 1 dari berat, –berat mengembalikan nilai 89
  • Kedua, tambahkan 5 ke –berat yang mengembalikan nilai 94
  • Ketiga, tetapkan hasilnya ke bobot di sisi kiri.

Operator increment atau postfix decrement mengubah nilai setelah pernyataan dievaluasi.

Sebagai contoh :

let berat = 90;
let beratBaru = berat++ + 5;

console.log(beratBaru); // 95

console.log(berat); // 91

Bagaimana cara kerjanya.

  • Pertama, tambahkan 5 ke berat  (90) dan tetapkan hasilnya ke beratBaru (95)
  • Kedua, tambahkan 1 pada variabel berat setelah pernyataan kedua selesai, beratnya menjadi 91.
  • Ketiga, panggil beratBaru dan berat ke console.

Saat menerapkan operator increment/decrement ke nilai non-numerik, ia melakukan langkah-langkah berikut:

  • Pertama, ubah nilai menjadi angka menggunakan aturan yang sama dengan operator plus (+) unary.
  • Kemudian, tambahkan 1 ke atau kurangi satu 1 nilainya.

Kesimpulan :

  • Operator unary bekerja pada satu nilai.
  • Unary plus (+) atau minus (-) mengubah nilai non-numerik menjadi angka. Unary minus meniadakan nilai setelah konversi.
  • Operator prefix increment menambahkan 1 ke nilai. Tambah nilai dengan 1 lalu kirim nilai.
  • Operator postfix increment menambahkan 1 ke sebuah nilai. Kirim nilai terlebih dahulu, lalu tambah dengan 1.
  • Operator prefix decrement mengurangi 1 dari nilai. Kurangi nilai dengan 1 lalu kirim nilai.
  • Operator postfix decrement mengurangi 1 dari sebuah nilai. Kirim nilai, lalu kurangi dengan 1.

Itu dia penjelasan tentang operator unary, increment dan decrement pada JavaScript yang bisa Anda gunakan dalam penulisan perhitungan dalam pemrograman JavaScript.

Artikel Lainnya

0 Komentar

Kirim Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

0