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.