Operator di TypeScript

Operator di TypeScript

Artikel ini menjelaskan tentang operator di TypeScript.

YouTube Video

Operator di TypeScript

Operator di TypeScript digunakan untuk melakukan perhitungan numerik, perbandingan nilai, dan operasi logika. Karena TypeScript menggunakan operator yang mirip dengan JavaScript, mereka mudah dipahami, tetapi TypeScript memungkinkan operasi yang lebih ketat dengan keamanan tipe.

Operator utama adalah sebagai berikut:.

Operator Aritmatika

Operator aritmatika digunakan untuk perhitungan numerik.

Operator Deskripsi Contoh Hasil
+ Penjumlahan 5 + 3 8
- Pengurangan 5 - 3 2
* Perkalian 5 * 3 15
/ Pembagian 5 / 2 2.5
% Sisa Bagi 5 % 2 1
++ Peningkatan (prefix) let x = 5; ++x 6
-- Penurunan (prefix) let x = 5; --x 4
 1let a = 10; // Initialize variable 'a' with the value 10
 2let b = 3;  // Initialize variable 'b' with the value 3
 3
 4// Perform and display arithmetic operations between 'a' and 'b'
 5console.log("Addition (a + b):      ", a + b); // 13
 6console.log("Subtraction (a - b):   ", a - b); // 7
 7console.log("Multiplication (a * b):", a * b); // 30
 8console.log("Division (a / b):      ", a / b); // 3.333...
 9console.log("Modulus (a % b):       ", a % b); // 1
10
11// Demonstrate post-increment operation on 'a'
12// Output the current value of 'a' (10), then increment
13console.log("Post-increment (a++):  ", a++);
14// Display the incremented value of 'a' (11)
15console.log("Value of 'a' after increment:", a);
16
17// Demonstrate pre-increment operation on 'a'
18// Increment 'a' first (12) then output
19console.log("Pre-increment (++a):   ", ++a);
20
21// Demonstrate post-decrement operation on 'a'
22// Output the current value of 'a' (12), then decrement
23console.log("Post-decrement (a--):  ", a--);
24// Display the decremented value of 'a' (11)
25console.log("Value of 'a' after decrement:", a);
26
27// Demonstrate pre-decrement operation on 'a'
28// Decrement 'a' first (10) then output
29console.log("Pre-decrement (--a):   ", --a);

Operator Penugasan

Operator penugasan menetapkan nilai di sisi kanan ke variabel di sisi kiri.

Operator Deskripsi Contoh Hasil
= Penugasan x = 10 x = 10
+= Tambah dan tetapkan x += 5 x = 15
-= Kurangi dan tetapkan x -= 5 x = 5
*= Kalikan dan tetapkan x *= 2 x = 20
/= Bagi dan tetapkan x /= 2 x = 5
%= Tetapkan sisa bagi x %= 3 x = 1
1let z = 5;
2z += 3;
3console.log(z);  // Outputs: 8
4
5z *= 2;
6console.log(z);  // Outputs: 16

Operator Perbandingan

Operator perbandingan membandingkan nilai dan mengembalikan true atau false.

Operator Deskripsi Contoh Hasil
== Sama dengan (tidak membandingkan tipe) 5 == "5" true
=== Sama persis (termasuk tipe) 5 === "5" false
!= Tidak sama (tidak membandingkan tipe) 5 != "5" false
!== Tidak sama persis (termasuk tipe) 5 !== "5" true
> Lebih besar dari 5 > 3 true
< Lebih kecil dari 5 < 3 false
>= Lebih besar atau sama dengan 5 >= 5 true
<= Lebih kecil atau sama dengan 5 <= 3 false
1console.log('5 == "5"   :', 5 == "5");   // Outputs: true
2console.log('5 === "5"  :', 5 === "5");  // Outputs: false
3console.log('5 != "5"   :', 5 != "5");   // Outputs: false
4console.log('5 !== "5"  :', 5 !== "5");  // Outputs: true
5console.log('5 > 3      :', 5 > 3);      // Outputs: true
6console.log('5 < 3      :', 5 < 3);      // Outputs: false
7console.log('5 >= 5     :', 5 >= 5);     // Outputs: true
8console.log('5 <= 3     :', 5 <= 3);     // Outputs: false

Operator Logika

Operator logika digunakan untuk menggabungkan ekspresi logika.

Operator Deskripsi Contoh Hasil
&& Logika DAN true && false false
|| Logika ATAU true || false true
! Negasi !true false
1console.log('true && false :', true && false);  // Outputs: false
2console.log('true || false :', true || false);  // Outputs: true
3console.log('!true         :', !true);          // Outputs: false

Kedahuluan Operator Logika

Dalam TypeScript, operator logika biasanya dievaluasi dalam urutan NOT terlebih dahulu, diikuti oleh AND, dan akhirnya OR.

NOT Memiliki Kedahuluan Tertinggi

NOT adalah operator unary dan dievaluasi dengan kedahuluan tertinggi.

1console.log(!true || false);  // false
AND Mendahului OR

AND memiliki kedahuluan lebih tinggi daripada OR, sehingga bagian AND dievaluasi terlebih dahulu.

1console.log(true || false && false);  // true

Sebagai hasilnya, bagian AND (&&) dihitung terlebih dahulu, dan hasilnya diteruskan ke OR (||).

AND dan OR Melakukan Evaluasi Short-Circuit

Dalam TypeScript, AND dan OR melakukan evaluasi short-circuit. Jika hasilnya ditentukan oleh nilai di sisi kiri, ekspresi di sisi kanan tidak akan dievaluasi.

1let a = false && console.log("This will not be printed");
2console.log(a);  // false
3
4let b = true || console.log("This will not be printed");
5console.log(b);  // true

Dalam kedua kasus, console.log() tidak akan dijalankan.

Menentukan Kedahuluan Secara Eksplisit

Menggunakan tanda kurung untuk secara eksplisit mengelompokkan ekspresi dapat mencegah kesalahpahaman tentang kedahuluan.

1console.log(true || (false && false));  // true
Perbedaan Antara Bahasa Alami dan Interpretasi Program

Saat menggunakan operator logika, penting untuk menyadari adanya ambiguitas dalam bahasa alami. Sebagai contoh, dalam frasa 'anjing putih atau kucing,' hal itu bisa berarti 'anjing putih atau kucing apa pun' atau 'anjing putih atau kucing putih.'. Dalam kode, hal itu dapat ditulis sebagai berikut:.

1if (isWhite && isDog || isCat) {
2    console.log(' "A white dog" or "a cat of any color" ');
3}
4
5if (isWhite && (isDog || isCat)) {
6    console.log(' "A white dog" or "a white cat" ');
7}

Karena bahasa alami bisa ambigu, kehati-hatian diperlukan saat membuat kode dan merancang sistem.

Operator Bitwise

Operator bitwise memanipulasi angka pada level bit.

Operator Deskripsi Contoh Hasil
& Logika DAN 5 & 1 1
` ` Logika ATAU 5 | 1
^ Eksklusif ATAU (XOR) 5 ^ 1 4
~ Negasi (NOT) ~5 -6
<< Geser ke Kiri 5 << 1 10
>> Geser ke Kanan (Bertanda) 5 >> 1 2
>>> Geser ke Kanan (Tidak Bertanda) 5 >>> 1 2
1console.log('5 & 1  :', 5 & 1);   // Outputs: 1  (AND operation)
2console.log('5 | 1  :', 5 | 1);   // Outputs: 5  (OR operation)
3console.log('5 ^ 1  :', 5 ^ 1);   // Outputs: 4  (XOR operation)
4console.log('~5     :', ~5);      // Outputs: -6 (NOT operation)
5console.log('5 << 1 :', 5 << 1);  // Outputs: 10 (Left shift operation)
6console.log('5 >> 1 :', 5 >> 1);  // Outputs: 2  (Right shift operation)
7console.log('5 >>> 1:', 5 >>> 1); // Outputs: 2  (Unsigned right shift operation)

Operator Ternary

Operator ternary mengembalikan nilai yang berbeda berdasarkan hasil dari ekspresi kondisional.

1let age = 20;
2let access = (age >= 18) ? "Allowed" : "Denied";
3console.log(access);  // Outputs: Allowed

Operator Tipe

Operator tipe dalam TypeScript mencakup hal-hal berikut:.

Operator Deskripsi Contoh Hasil
typeof Mengembalikan tipe dari sebuah variabel typeof 123 "number"
instanceof Memeriksa apakah sebuah objek termasuk dalam kelas tertentu arr instanceof Array true
is Sebagai penjaga tipe, memeriksa apakah suatu nilai memiliki tipe tertentu value is string true or false
 1console.log(typeof "Hello");  // "string"
 2console.log(typeof 42);       // "number"
 3
 4let arr: number[] = [1, 2, 3];
 5console.log("arr instanceof Array : ", arr instanceof Array); // true
 6
 7// Example of Type Guard
 8function isString(value: any): value is string {
 9  return typeof value === "string";
10}
11
12let value: any = "Hello";
13if (isString(value)) {
14  console.log("Value is a string:", value);  // "Value is a string: Hello"
15}

Operator tipe digunakan untuk memeriksa tipe suatu nilai atau mengonversinya ke tipe tertentu.

  • Operator typeof mengembalikan tipe dari sebuah variabel.
  • Operator instanceof memeriksa apakah sebuah objek termasuk dalam kelas tertentu.
  • Operator is digunakan untuk memeriksa apakah suatu nilai memiliki tipe tertentu. Ini adalah bagian dari penjaga tipe dalam TypeScript.

Ringkasan

  • Operator Aritmatika: Melakukan perhitungan dasar.
  • Operator Penugasan: Menugaskan nilai ke variabel.
  • Operator Perbandingan: Membandingkan nilai.
  • Operator Logika: Menggabungkan kondisi logis.
  • Operator Bitwise: Melakukan operasi pada level bit.
  • Operator Ternary: Mengembalikan nilai berdasarkan kondisi.
  • Operator tipe dapat memeriksa tipe suatu nilai.

Dalam TypeScript, operator ini dapat digunakan untuk menulis perhitungan kompleks dan ekspresi kondisional secara efisien.

Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.

YouTube Video