Operator dalam TypeScript
Artikel ini menjelaskan tentang operator dalam TypeScript.
YouTube Video
Operator dalam TypeScript
Operator dalam TypeScript digunakan untuk melakukan pengiraan numerik, perbandingan nilai, dan operasi logik. Memandangkan TypeScript menggunakan operator yang serupa dengan JavaScript, ia mudah digunakan, tetapi TypeScript membolehkan operasi yang lebih ketat menggunakan keselamatan jenis.
Operator utama adalah seperti berikut:.
Operator Aritmetik
Operator aritmetik digunakan untuk pengiraan numerik.
Operator | Penerangan | Contoh | Hasil |
---|---|---|---|
+ |
Penambahan | 5 + 3 |
8 |
- |
Penolakan | 5 - 3 |
2 |
* |
Pendaraban | 5 * 3 |
15 |
/ |
Pembahagian | 5 / 2 |
2.5 |
% |
Baki | 5 % 2 |
1 |
++ |
Peningkatan (awalan) | let x = 5; ++x |
6 |
-- |
Pengurangan (awalan) | 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 Tugas
Operator tugas menetapkan nilai di sebelah kanan kepada pemboleh ubah di sebelah kiri.
Operator | Penerangan | Contoh | Hasil |
---|---|---|---|
= |
Tugas | x = 10 |
x = 10 |
+= |
Tambah dan tugaskan | x += 5 |
x = 15 |
-= |
Tolak dan tugaskan | x -= 5 |
x = 5 |
*= |
Darab dan tugaskan | x *= 2 |
x = 20 |
/= |
Bahagi dan tugaskan | x /= 2 |
x = 5 |
%= |
Baki dan tugaskan | 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 | Keterangan | Contoh | Hasil |
---|---|---|---|
== |
Sama (tidak membandingkan jenis) | 5 == "5" |
true |
=== |
Sama sepenuhnya (termasuk jenis) | 5 === "5" |
false |
!= |
Tidak sama (tidak membandingkan jenis) | 5 != "5" |
false |
!== |
Tidak sama sepenuhnya (termasuk jenis) | 5 !== "5" |
true |
> |
Lebih besar dari | 5 > 3 |
true |
< |
Kurang dari | 5 < 3 |
false |
>= |
Lebih besar atau sama dengan | 5 >= 5 |
true |
<= |
Kurang 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 Logik
Operator logik digunakan untuk menggabungkan ekspresi logik.
Operator | Keterangan | Contoh | Hasil |
---|---|---|---|
&& |
Logik DAN | true && false |
false |
|| |
Logik ATAU | true || false |
true |
! |
Penafian | !true |
false |
1console.log('true && false :', true && false); // Outputs: false
2console.log('true || false :', true || false); // Outputs: true
3console.log('!true :', !true); // Outputs: false
Keutamaan Pengendali Logik
Dalam TypeScript, pengendali logik biasanya dinilai mengikut urutan NOT
terlebih dahulu, diikuti oleh AND
, dan akhirnya OR
.
NOT
Mempunyai Keutamaan Tertinggi
NOT
ialah pengendali unary dan dinilai dengan keutamaan tertinggi.
1console.log(!true || false); // false
AND
Mendahului OR
dalam Keutamaan
AND
mempunyai keutamaan lebih tinggi daripada OR
, jadi bahagian AND
dinilai terlebih dahulu.
1console.log(true || false && false); // true
Oleh itu, bahagian AND
(&&
) dikira terlebih dahulu, dan hasilnya diteruskan kepada OR
(||
).
AND
dan OR
Melakukan Penilaian Litar Pendek
Dalam TypeScript, AND
dan OR
melakukan penilaian litar pendek. Jika hasilnya ditentukan oleh nilai sebelah kiri, ungkapan sebelah kanan tidak akan dinilai.
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-dua kes, console.log()
tidak dilaksanakan.
Menentukan Keutamaan Secara Jelas
Menggunakan kurungan untuk mengelompokkan ungkapan secara jelas boleh mengelakkan salah faham tentang keutamaan.
1console.log(true || (false && false)); // true
Perbezaan Antara Bahasa Semula Jadi dan Tafsiran Program
Apabila menggunakan pengendali logik, adalah penting untuk menyedari kekaburan dalam bahasa semula jadi. Sebagai contoh, dalam frasa 'seekor anjing putih atau seekor kucing,' ia mungkin bermaksud 'seekor anjing putih atau mana-mana kucing' atau 'seekor anjing putih atau seekor kucing putih.'. Dalam kod, ia boleh ditulis seperti 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}
Oleh kerana bahasa semula jadi boleh menjadi kabur, berhati-hati adalah perlu ketika menulis kod dan merancang sistem.
Operator Bitwise
Operator bitwise memanipulasi nombor pada tahap bit.
Operator | Keterangan | Contoh | Hasil |
---|---|---|---|
& |
Logik DAN | 5 & 1 |
1 |
` | ` | Logik ATAU | 5 | 1 |
^ |
Eksklusif ATAU (XOR) | 5 ^ 1 |
4 |
~ |
Penafian (NOT) | ~5 |
-6 |
<< |
Anjakan Kiri | 5 << 1 |
10 |
>> |
Anjakan Kanan (Bersign) | 5 >> 1 |
2 |
>>> |
Anjakan Kanan (Tidak Bersign) | 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)
Pengendali Ternari
Pengendali ternari mengembalikan nilai yang berbeza berdasarkan hasil ungkapan bersyarat.
1let age = 20;
2let access = (age >= 18) ? "Allowed" : "Denied";
3console.log(access); // Outputs: Allowed
Operator Jenis
Operator jenis dalam TypeScript termasuk yang berikut:.
Operator | Penerangan | Contoh | Hasil |
---|---|---|---|
typeof |
Mengembalikan jenis sesuatu pembolehubah | typeof 123 |
"number" |
instanceof |
Memeriksa sama ada objek tergolong dalam kelas tertentu | arr instanceof Array |
true |
is |
Sebagai pengawal jenis, memeriksa sama ada nilai adalah jenis 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 jenis digunakan untuk memeriksa jenis sesuatu nilai atau menukarnya kepada jenis tertentu.
- Operator
typeof
mengembalikan jenis sesuatu pembolehubah. - Operator
instanceof
memeriksa sama ada objek tergolong dalam kelas tertentu. - Operator
is
digunakan untuk memeriksa sama ada nilai adalah daripada jenis tertentu. Ia adalah sebahagian daripada pengawal jenis dalam TypeScript.
Ringkasan
- Pengendali Aritmetik: Melakukan pengiraan asas.
- Pengendali Penugasan: Menetapkan nilai kepada pembolehubah.
- Pengendali Perbandingan: Membandingkan nilai.
- Pengendali Logik: Menggabungkan keadaan logik.
- Pengendali Bitwise: Melakukan operasi pada tahap bit.
- Pengendali Ternari: Mengembalikan nilai berdasarkan syarat.
- Operator jenis boleh digunakan untuk memeriksa jenis sesuatu nilai.
Dalam TypeScript, pengendali ini boleh digunakan untuk menulis pengiraan kompleks dan ungkapan bersyarat dengan cekap.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.