Seleksi Kondisi #
Dalam TypeScript, seleksi kondisi dapat diimplementasikan dengan beberapa cara, mirip dengan bahasa pemrograman lainnya. Berikut adalah beberapa jenis implementasi seleksi kondisi yang umum digunakan:
if...else
Statement
#
Ini adalah cara yang paling dasar dan umum digunakan untuk mengimplementasikan seleksi kondisi. Struktur dasarnya seperti berikut:
let x = 10;
if (x > 5) {
console.log("x lebih besar dari 5");
} else if (x === 5) {
console.log("x sama dengan 5");
} else {
console.log("x lebih kecil dari 5");
}
if...else
memungkinkan kita untuk mengeksekusi blok kode yang berbeda berdasarkan kondisi boolean tertentu.
switch...case
Statement
#
switch
adalah cara lain untuk melakukan seleksi kondisi, terutama ketika ada banyak nilai berbeda yang perlu diperiksa untuk satu variabel.
let color = 'red';
switch (color) {
case 'red':
console.log('Color is red');
break;
case 'blue':
console.log('Color is blue');
break;
default:
console.log('Color is not red or blue');
}
switch...case
lebih efisien dan rapi dibandingkan if...else if
jika ada banyak nilai yang harus diperiksa.
Conditional (Ternary) Operator #
Operator ternary adalah cara singkat untuk menulis if...else
. Sintaksnya adalah:
let age = 18;
let canVote = (age >= 18) ? "Yes" : "No";
console.log(canVote); // Output: Yes
Ini sangat berguna untuk kondisi sederhana dan dapat memperpendek kode yang harus ditulis.
Short-Circuit Evaluation #
TypeScript juga mendukung short-circuit evaluation yang memungkinkan kita menulis kondisi dalam bentuk ekspresi boolean yang lebih ringkas.
let isAuthenticated = true;
let userRole = isAuthenticated && "Admin";
console.log(userRole); // Output: Admin
Dalam contoh di atas, jika isAuthenticated
adalah false
, maka userRole
akan menjadi false
juga.
Optional Chaining and Nullish Coalescing #
TypeScript menyediakan fitur-fitur modern seperti optional chaining (?.
) dan nullish coalescing (??
) untuk menangani kondisi yang melibatkan nilai null
atau undefined
.
let user = {
name: "John",
address: {
city: "New York"
}
};
let city = user?.address?.city ?? "City not available";
console.log(city); // Output: New York
Optional chaining berguna untuk menghindari error ketika mencoba mengakses properti dari objek yang mungkin undefined
atau null
.
Type Guards #
TypeScript memiliki fitur type guards yang memungkinkan kita untuk membuat kondisi berdasarkan tipe data dari variabel.
function printId(id: number | string) {
if (typeof id === "string") {
console.log(`ID is a string: ${id.toUpperCase()}`);
} else {
console.log(`ID is a number: ${id}`);
}
}
Type guards memungkinkan kita untuk melakukan seleksi kondisi berdasarkan tipe data yang berbeda dalam union types.
Kesimpulan #
Dengan memahami dan memanfaatkan berbagai macam implementasi seleksi kondisi ini, Anda dapat menulis kode TypeScript yang lebih efisien dan terstruktur dengan baik.