Recraftory

Javascript - Operator

  • Aritmatika: + - * / %
  • Perbandingan: == === != !==
  • Logika: && || !

Contoh:

5 === 5;

1. Operator Aritmatika

Digunakan untuk operasi matematika:

  • + Penjumlahan
  • - Pengurangan
  • * Perkalian
  • / Pembagian
  • % Modulus (sisa bagi)
  • ** Eksponensial (pangkat)
  • ++ Increment
  • -- Decrement

2. Operator Penugasan

  • = Penugasan
  • +=, -=, *=, /= Operasi dan penugasan
  • %=, **= Operasi modulus dan eksponensial dengan penugasan

3. Operator Perbandingan

  • == Sama dengan (dengan type coercion)
  • === Sama dengan (strict equality)
  • != Tidak sama dengan
  • !== Tidak sama dengan (strict)
  • > Lebih besar dari
  • < Lebih kecil dari
  • >= Lebih besar atau sama dengan
  • <= Lebih kecil atau sama dengan

4. Operator Logika

  • && AND (dan)
  • || OR (atau)
  • ! NOT (tidak)

5. Operator String

  • + Penggabungan string
  • += Penggabungan dengan penugasan

6. Operator Ternary

  • kondisi ? nilai1 : nilai2

7. Operator Type

  • typeof Mengembalikan tipe data
  • instanceof Memeriksa instance object

8. Operator Nullish Coalescing

  • ?? Mengembalikan nilai kanan jika nilai kiri null/undefined

Contoh Penggunaan

// Aritmatika
let x = 10 + 5;  // 15
let y = 10 % 3;   // 1

// Penugasan
let a = 10;
a += 5;  // a = a + 5

// Perbandingan
5 == '5'   // true (type coercion)
5 === '5'  // false (strict equality)

// Logika
let umur = 25;
let punyaSIM = true;
let bisaMenyetir = umur >= 17 && punyaSIM;  // true

// Ternary
let status = (umur >= 18) ? 'Dewasa' : 'Anak-anak';

// Nullish Coalescing
let nama = null;
let namaPengguna = nama ?? 'Tamu';  // 'Tamu'

Operator Precedence

Urutan eksekusi operator (dari tertinggi ke terendah):

  1. () Grouping
  2. ++ -- ! typeof Unary operators
  3. * / % Perkalian, pembagian, modulus
  4. + - Penambahan, pengurangan
  5. < <= > >= Perbandingan
  6. == != === !== Persamaan
  7. && Logika AND
  8. || Logika OR
  9. ?? Nullish coalescing
  10. ?: Ternary
  11. = += -= dll. Assignment

Best Practices

  1. Selalu gunakan === dan !== untuk perbandingan
  2. Gunakan tanda kurung untuk memperjelas urutan operasi
  3. Hati-hati dengan type coercion
  4. Gunakan operator ternary untuk logika sederhana
  5. Hindari operator yang membingungkan seperti ++ dalam ekspresi kompleks