Catatan Teknis zhaoJian

Kursus IT Dasar JavaScript 040_Operator

Pembelajaran / Dasar JavaScript ~12097 kata · 31 menit baca - dilihat

Operator JavaScript digunakan untuk operasi matematika, perbandingan, operasi logika, dan operasi lainnya serta mengembalikan hasil.

Operator Aritmatika

  • +: Penjumlahan
  • -: Pengurangan
  • *: Perkalian
  • /: Pembagian
  • %: Modulo (sisa)
  • **: Eksponensial

Contoh:

let a = 5;
let b = 2;
console.log(a + b); // Output 7
console.log(a - b); // Output 3
console.log(a * b); // Output 10
console.log(a / b); // Output 2.5
console.log(a % b); // Output 1
console.log(a**b); // Output 25

Operator Penugasan

  • =: Penugasan
  • +=: Penugasan penjumlahan
  • -=: Penugasan pengurangan
  • *=: Penugasan perkalian
  • /=: Penugasan pembagian
  • %=: Penugasan modulo
  • **=: Penugasan eksponensial
  • ??=: Penugasan nullish, penugasan hanya terjadi ketika nilai variabel adalah null atau undefined

Contoh:

let x = 5;
x += 2; // x = x + 2; Output 7
x -= 2; // x = x - 2; Output 3
x *= 2; // x = x * 2; Output 10
x /= 2; // x = x / 2; Output 2.5
x %= 2; // x = x % 2; Output 1
x **= 2; // x = x ** 2; Output 25
x ??= 2; // Output 5, menugaskan 2 ketika x adalah null atau undefined
console.log(x);

Operator Perbandingan

  • ==: Kesetaraan (tipe nilai dikonversi secara otomatis)
  • ===: Kesetaraan ketat (nilai dan tipe sama)
  • !=: Ketidaksetaraan
  • !==: Ketidaksetaraan ketat
  • >: Lebih besar dari
  • <: Lebih kecil dari
  • >=: Lebih besar dari atau sama dengan
  • <=: Lebih kecil dari atau sama dengan

Ketika nilai non-numerik ditemui, mereka pertama kali dikonversi menjadi nilai numerik kemudian dibandingkan. Ketika string ditemui, kode Unicode karakter dibandingkan posisi per posisi.

Contoh:

let a = 5;
let b = '5';
let c = 10;
console.log(a == b); // Output true, nilai sama
console.log(a === b); // Output false, tipe tidak sama
console.log(a != b); // Output false, nilai sama
console.log(a !== b); // Output true, tipe tidak sama
console.log(a > c); // Output false, 5 < 10
console.log(a < c); // Output true, 5 < 10
console.log(a >= c); // Output false, 5 <= 10
console.log(a <= c); // Output true, 5 <= 10

Operator Logika

Operator logika, saat memproses operan, mengonversinya menjadi nilai boolean dan mengembalikan nilai asli dari operan tersebut.

&&: AND logis

Digunakan untuk memeriksa apakah semua kondisi secara bersamaan true. Jika semua kondisi true, maka hasil dari seluruh ekspresi adalah true; jika tidak, hasilnya adalah false. Operasi AND mencari false pertama dari kiri ke kanan. Jika false ditemukan, perhitungan berhenti dan mengembalikan nilai asli dari operan tersebut (evaluasi sirkuit pendek). Jika akhirnya tidak ada false, maka true terakhir dikembalikan.

||: OR logis

Digunakan untuk memeriksa apakah setidaknya satu kondisi true. Jika setidaknya satu kondisi true, maka hasil dari seluruh ekspresi adalah true; jika semua kondisi false, hasilnya adalah false. Operasi OR mencari true pertama dari kiri ke kanan. Jika true ditemukan, perhitungan berhenti dan mengembalikan nilai asli dari operan tersebut (evaluasi sirkuit pendek). Jika akhirnya tidak ada true, maka false terakhir dikembalikan.

!: NOT logis

Digunakan untuk membalik nilai boolean. Jika nilai true, menggunakan operator NOT logis akan membaliknya menjadi false; jika nilai false, akan membaliknya menjadi true. NOT logis juga dapat digunakan untuk mengonversi nilai non-boolean menjadi nilai boolean. Ini mengonversi semua nilai selain null, undefined, 0, NaN, "" (string kosong) menjadi true, sementara nilai-nilai tersebut sendiri dikonversi menjadi false.

Contoh:

let a = true;
let b = false;
let c = "hello";
let d = null;
console.log(a && b); // Output false
console.log(c && d); // Output null
console.log(a || b); // Output true
console.log(c || d); // Output hello
console.log(!a); // Output false
console.log(!d); // Output true

Operator Ternary

  • condition ? expr1 : expr2: Jika kondisi benar, mengembalikan expr1, jika tidak mengembalikan expr2.

Contoh:

let age = 18;
let status = (age >= 18) ? 'Dewasa' : 'Di bawah umur';
console.log(status); // Output 'Dewasa'

Operator Penggabungan Null

Operator Penggabungan Null (Nullish Coalescing Operator) adalah operator yang digunakan untuk menangani nilai default, biasanya digunakan untuk memastikan variabel memiliki nilai non-null (bukan null dan bukan undefined). Sintaks operator ini adalah ??.

Saat menggunakan operator penggabungan null, ia mengembalikan operan yang didefinisikan pertama (bukan null dan bukan undefined). Jika operan pertama adalah null atau undefined, ia mengembalikan operan kedua.

Contoh:

let num1 = 0;
let num2 = 1;
let result = num1 ?? num2;
console.log(result); // Output 0, karena num bukan null atau undefined
let user;
console.log(user ?? "Anonim"); // Output Anonim, karena user tidak terdefinisi

Operator Bitwise

  • &: AND bitwise
  • |: OR bitwise
  • ^: XOR bitwise
  • ~: NOT bitwise
  • <<: Geser kiri
  • >>: Geser kanan
  • >>>: Geser kanan tanpa tanda

Contoh:

let a = 5; // Biner: 0101
let b = 3; // Biner: 0011
console.log(a & b); // Output 1 (AND bitwise)
console.log(a | b); // Output 7 (OR bitwise)
console.log(a ^ b); // Output 6 (XOR bitwise)
console.log(~a); // Output -6 (NOT bitwise)
console.log(a << 1); // Output 10 (Geser kiri)
console.log(a >> 1); // Output 2 (Geser kanan)

Operator Lainnya

  • typeof: Mengembalikan string yang menunjukkan tipe dari operan yang tidak dievaluasi.
  • instanceof: Digunakan untuk menguji apakah objek adalah instance dari tipe tertentu.

Contoh:

let str = 'Hello';
console.log(typeof str); // Output 'string'
let arr = [1, 2, 3];
console.log(arr instanceof Array); // Output true

+ (Plus)

Dalam JavaScript, tanda plus + memiliki beberapa kegunaan, termasuk operasi matematika, penggabungan string, dan operasi unary.

Operasi Matematika

Contoh:

let a = 5;
let b = 3;
let result = a + b;
console.log(result); // Output 8

Jika keduanya adalah angka, + digunakan untuk melakukan penjumlahan matematika.

Penggabungan String

Contoh:

let str1 = 'Hello';
let str2 = ' World';
let result = str1 + str2;
console.log(result); // Output 'Hello World'

Jika salah satu operan adalah string, + akan melakukan penggabungan string.

Operator Plus Unary

Contoh:

let str = '42';
let num = +str;
console.log(num); // Output 42

Saat menggunakan + sebelum operan tunggal, ia dapat mengonversi operan menjadi angka. Ini adalah fungsi dari operator plus unary.

Konversi Tipe

Contoh:

let num = 42;
let str = '10';
let result = num + str; // Konversi tipe implisit (pemaksaan tipe)
console.log(result); // Output '4210'

Jika salah satu operan adalah string, + akan melakukan konversi tipe, mengonversi operan lain menjadi string, kemudian melakukan penggabungan string.

Penggabungan Array

Contoh:

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let result = arr1 + arr2;
console.log(result); // Output '1,2,34,5,6'

Ketika operan adalah array, + akan mengonversi array menjadi string, kemudian melakukan penggabungan string.

Kasus Khusus

Contoh:

let specialResult1 = '1' + 2 + 3;
console.log(specialResult1); // Output '123'
let specialResult2 = 2 + 3 + '1';
console.log(specialResult2); // Output '51'

specialResult1: Karena string muncul di paling kiri dari +, angka-angka berikutnya akan digabungkan sebagai string. specialResult2: Karena string muncul di paling kanan dari +, angka-angka sebelumnya akan dijumlahkan secara matematika terlebih dahulu, kemudian digabungkan.


- (Minus)

Dalam JavaScript, tanda minus - adalah operator yang digunakan untuk melakukan pengurangan matematika.

Pengurangan Matematika

Contoh:

let a = 5;
let b = 3;
let result = a - b;
console.log(result); // Output 2

Jika keduanya adalah angka, - digunakan untuk melakukan pengurangan matematika.

Operator Minus Unary

Contoh:

let num = 42;
let result = -num;
console.log(result); // Output -42

Saat menggunakan - sebelum operan tunggal, ia dapat melakukan pengurangan unary, mengonversi operan menjadi lawannya.

Konversi Tipe

Contoh:

let num1 = 42;
let str = '10';
let result = num1 - str;
console.log(result); // Output 32

Jika salah satu operan adalah string, - akan melakukan konversi tipe, mengonversi operan lain menjadi angka, kemudian melakukan pengurangan matematika.

Kasus Khusus

Contoh:

let specialResult = '10' - 2;
console.log(specialResult); // Output 8

Dalam kasus khusus ini, karena konten string dapat berhasil dikonversi menjadi angka, - akan melakukan pengurangan matematika.


=、==、=== (Penugasan, kesetaraan longgar, kesetaraan ketat)

Dalam JavaScript, tanda sama dengan = adalah operator penugasan, sedangkan == dan === adalah operator perbandingan. Kesetaraan longgar mengonversi kedua operan ke tipe yang sama, kemudian melakukan perbandingan. Dalam pemeriksaan kondisi, biasanya === digunakan untuk perbandingan kesetaraan ketat karena tidak melakukan konversi tipe.

Operator Penugasan

= digunakan untuk menugaskan nilai sisi kanan ke variabel sisi kiri.

Contoh:

let x = 5;
let y = 'Hello';
console.log(x); // Output 5
console.log(y); // Output 'Hello'

Dalam contoh ini, = menugaskan nilai sisi kanan ke variabel x dan y di sisi kiri.

Operator Perbandingan

== dan === digunakan untuk membandingkan kesetaraan dua nilai.

Contoh:

let a = 5;
let b = '5';
console.log(a == b); // Output true
console.log(a === b); // Output false

Saat melakukan perbandingan kesetaraan dengan ==, konversi tipe dilakukan, null == undefined menghasilkan true. Saat melakukan perbandingan kesetaraan dengan ===, nilai dan tipe harus sama, null === undefined menghasilkan false. NaN tidak sama dengan nilai apa pun, termasuk NaN itu sendiri.


++-- (Increment, Decrement)

Dalam JavaScript, increment (++) dan decrement (--) adalah operator yang digunakan untuk menambah atau mengurangi nilai variabel.

Operator Increment (++)

Setelah digunakan, akan membuat variabel asli langsung bertambah 1. Increment awalan mengembalikan nilai setelah increment (nilai baru); Increment akhiran mengembalikan nilai sebelum increment (nilai lama);

Contoh increment awalan:

let a = 5;
// Increment awalan, pertama tambah 1, kemudian gunakan nilai baru
let b = ++a;
console.log(b); // Output 6
console.log(a); // Output 6

Dalam contoh ini, a pertama kali bertambah 1, kemudian b mendapatkan nilai baru dari a (6).

Contoh increment akhiran:

let x = 5;
// Increment akhiran, pertama gunakan nilai saat ini, kemudian tambah 1
let y = x++;
console.log(y); // Output 5
console.log(x); // Output 6

Dalam contoh ini, y pertama kali mendapatkan nilai saat ini dari x (5), kemudian nilai x bertambah 1.

Operator Decrement (—)

Setelah digunakan, akan membuat variabel asli langsung berkurang 1. Decrement awalan mengembalikan nilai setelah decrement (nilai baru); Decrement akhiran mengembalikan nilai sebelum decrement (nilai lama);

Contoh decrement awalan:

let p = 10;
// Decrement awalan, pertama kurangi 1, kemudian gunakan nilai baru
let q = --p;
console.log(q); // Output 9
console.log(p); // Output 9

Dalam contoh ini, p pertama kali berkurang 1, kemudian q mendapatkan nilai baru dari p (9).

Contoh decrement akhiran:

let m = 8;
// Decrement akhiran, pertama gunakan nilai saat ini, kemudian kurangi 1
let n = m--;
console.log(n); // Output 8
console.log(m); // Output 7

Dalam contoh ini, n pertama kali mendapatkan nilai saat ini dari m (8), kemudian nilai m berkurang 1.

Prioritas operator:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_precedence

Bagikan:

Komentar