Belajar Dasar JavaScript: Operasi dan Operator Dasar
Operator merupakan suatu simbol yang mewakili sebuah operasi. Operator digunakan untuk melakukan suatu operasi.
Operator Aritmetika
Operator aritmetika yang didukung JavaScript adalah +
, -
, *
(kali), /
(bagi), dan %
(modulus/sisa bagi).
Operasi ini dapat digunakan untuk tipe data Number. Contohnya:
console.log(10 + 5); // 15
const angka1 = 10;
const angka2 = 20;
console.log(angka1 + angka2); // 30
console.log(angka1 - angka2); // -10
console.log(angka1 * angka2); // 200
console.log(angka1 / angka2); // 0.5
console.log(angka1 % angka2); // 10
Operator +
juga bisa digunakan pada String untuk menggabungkan String. Contohnya seperti berikut:
console.log("Selamat datang di " + "DaunKoder"); // Selamat datang di DaunKoder
console.log("Sekarang jam " + 12); // Sekarang jam 12
Operator -
, *
, /
dan %
jika digunakan dengan String akan mengubah String menjadi angka
kemudian baru melakukan operasi. Contohnya:
console.log("1" - 2); // -1
console.log("5" - "7"); // -2
console.log("2" * "7"); // 14
console.log("9" / "2"); // 4.5
console.log("9" % "2"); // 1
Operator ini juga dapat digabungkan dengan assignment operator (=
) membentuk operator +=
,
-=
, *=
, /=
dan %=
.
let angka = 1;
console.log(angka); // 1
angka += 2;
console.log(angka); // 2
angka -= 100;
console.log(angka); // -97
angka *= 2;
console.log(angka); // -194
angka /= 2;
console.log(angka); // -97
angka %= 2;
console.log(angka); // -1
let text = "Halo ";
text += "Hay";
console.log(text); // Halo Hay
Increment dan Decrement Operator
Increment Operator (++
) digunakan untuk menaikkan nilai suatu variabel sebanyak satu. Decrement
Operator (--
) digunakan untuk menurunkan nilai suatu variabel sebanyak satu. Contohnya:
let angka = 1;
angka++;
console.log(angka); // 2
angka++;
console.log(angka); // 3
angka--;
console.log(angka); // 2
Saat digunakan pada String, operator ini akan mengubah String menjadi angka dan melakukan peningkatan dan penurunan. Contohnya:
let angka = "23";
angka++;
console.log(angka); // 24
angka++;
console.log(angka); // 25
angka--;
console.log(angka); // 24
Equality Operator
Equality Operator merupakan operator yang mengecek apakah dua nilai sama. Dalam JavaScript ada 2 jenis Equality operator yang mempunyai perbedaan cukup kecil, namun jika salah digunakan akan berbahaya.
Loose equality operator (==
) digunakan untuk mengecek nilai dari kedua operand-nya. Jika kedua
operand-nya bertipe data berbeda, maka tipe data kedua operand disamakan. Contohnya seperti berikut.
console.log(50 == 50); // true
console.log(1 == 3); // false
console.log(false == true); // false
console.log("Abc" == "abc"); // false
console.log("Daun" == "Buah"); // false
console.log(2 == "0"); // false
// Aneh
console.log(1 == "1"); // true
console.log("50" == 50); // true
console.log(false == 0); // true
console.log(0 == false); // true
console.log(0 == null); // true
console.log(0 == undefined); // true
console.log(null == undefined); // true
Dari contoh di atas operator ini sedikit aneh.
Strict equality operator (===
) digunakan untuk mengecek nilai dan tipe data dari kedua
operand-nya. Operator ini jelas akan menghasilkan false
jika kedua operand-nya bertipe data
berbeda.
console.log(50 == 50); // true
console.log(1 === 3); // false
console.log(false === true); // false
console.log("Abc" === "abc"); // false
console.log("Daun" === "Buah"); // false
console.log(2 === "0"); // false
console.log(1 === "1"); // false
console.log("50" === 50); // false
console.log(false === 0); // false
console.log(0 === false); // false
console.log(0 === null); // false
console.log(0 === undefined); // false
console.log(null === undefined); // false
Kedua operator tersebut juga mempunyai kebalikannya masing-masing yaitu Loose inequality operator
(!=
) dan Strict inequality operator (!==
). Contoh penggunaannya:
console.log(1 != 3); // true
console.log(1 != "1"); // false
console.log(1 !== 3); // true
console.log(1 !== "1"); // true
Comparison Operator
Comparison operator digunakan untuk membandingkan dua buah angka. Operatornya adalah <
, <=
, >
dan >=
. Contoh penggunaannya:
console.log(1 > 2); // false
console.log(2 < 2); // false
console.log(25 > 25); // false
console.log(25 >= 25); // true
console.log(15 < 15); // false
console.log(15 <= 15); // true
Operator ini bisa digunakan pada String, namun sangat tidak disarankan.
console.log(20 < "100"); // true
console.log("20" < 100); // true
console.log("20" < "100"); // false
Kenapa "20" < "100"
?. Karena saat kedua operand-nya sama-sama String, maka operator ini hanya akan
membandingkan karakter/angka pertama (2 tidak lebih dari 1). Pada saat salah satu operand-nya
merupakan angka, maka operand-lain diubah menjadi angka sebelum dibandingkan.
Logical Operator
Logical operator adalah operator yang berhubungan dengan logika.
Operator And (&
) merupakan operator yang menghasilkan nilai true
jika kedua operand-nya bernilai
true
. Contoh penggunaannya:
console.log(true && true); // true
console.log(false && true); // false
console.log(true && false); // false
console.log(false && false); // false
Operator Or (||
) merupakan operator yang menghasilkan nilai true
jika salah satu operand-nya
bernilai true
. Contoh penggunaannya:
console.log(true || true); // true
console.log(false || true); // true
console.log(true || false); // true
console.log(false || false); // false
Operator Not (!
) merupakan operator yang membalik nilai Boolean (true
menjadi false
dan
sebaliknya).
console.log(!true); // false
console.log(!false); // true
Indexing Operator
Operator ini bisa digunakan dengan String dan akan memberikan karakter yang berada pada posisi/index tertentu. Posisi paling pertama bernilai 0. Contoh:
const teks = "Aku mencintaimu";
console.log(teks[0]); // A
console.log(teks[1]); // k
console.log(teks[2]); // u
console.log(teks[3]); //
console.log(teks[4]); // m