Tipe Data #
TypeScript adalah superset dari JavaScript yang menambahkan tipe statis pada bahasa tersebut. Dengan tipe data yang kuat, TypeScript memungkinkan pengembang untuk menangkap kesalahan lebih awal dan menulis kode yang lebih aman dan lebih dapat diprediksi. Berikut adalah berbagai macam jenis tipe data di TypeScript beserta penggunaannya:
number
#
Tipe data number
digunakan untuk merepresentasikan angka, baik itu bilangan bulat, pecahan, atau angka dengan notasi eksponensial.
let age: number = 25;
let price: number = 19.99;
let bigNumber: number = 1e6;
- Penggunaan: Untuk semua perhitungan matematis, penanganan angka, dan operasi aritmatika.
string
#
Tipe data string
digunakan untuk merepresentasikan teks. String bisa didefinisikan menggunakan tanda kutip tunggal ('
), tanda kutip ganda ("
), atau backticks (`
) untuk template literals.
let firstName: string = "John";
let greeting: string = `Hello, ${firstName}`;
- Penggunaan: Untuk teks, nama, pesan, atau konten berbasis karakter.
boolean
#
Tipe data boolean
hanya memiliki dua nilai: true
atau false
.
let isLoggedIn: boolean = true;
let hasPermission: boolean = false;
- Penggunaan: Untuk kondisi, kontrol alur, dan keputusan logika.
array
#
Tipe data array
digunakan untuk menyimpan kumpulan elemen dengan tipe yang sama. Array dapat dideklarasikan dengan dua cara:
let numbers: number[] = [1, 2, 3, 4, 5];
let names: Array<string> = ["Alice", "Bob", "Charlie"];
- Penggunaan: Untuk daftar atau kumpulan elemen dengan tipe yang sama, seperti daftar angka atau string.
tuple
#
tuple
adalah tipe data khusus yang memungkinkan Anda untuk menyimpan sejumlah elemen dengan tipe yang berbeda pada posisi yang tetap.
let person: [string, number] = ["John", 30];
- Penggunaan: Untuk merepresentasikan struktur data yang tetap dan memiliki tipe yang berbeda, seperti pasangan nilai atau record.
enum
#
enum
adalah tipe data yang memungkinkan Anda untuk mendefinisikan sekumpulan konstanta yang terkait. Ini berguna untuk nilai-nilai yang terkelompok, seperti status atau opsi.
enum Color {
Red,
Green,
Blue
}
let backgroundColor: Color = Color.Green;
- Penggunaan: Untuk mendefinisikan sekumpulan nilai yang tetap dan terkelompok, seperti status aplikasi atau warna.
any
#
Tipe data any
memungkinkan sebuah variabel untuk menampung nilai dengan tipe apa pun. Tipe ini memberikan fleksibilitas, tetapi menghilangkan manfaat tipe statis.
let data: any = 42;
data = "Hello";
data = true;
- Penggunaan: Untuk kasus di mana tipe data tidak diketahui sebelumnya atau ketika Anda perlu mendukung berbagai tipe data (misalnya, saat menggunakan data dari sumber eksternal).
void
#
Tipe void
digunakan untuk fungsi yang tidak mengembalikan nilai.
function logMessage(message: string): void {
console.log(message);
}
- Penggunaan: Untuk fungsi yang hanya menjalankan aksi dan tidak mengembalikan apa pun.
null
dan undefined
#
Tipe null
dan undefined
adalah tipe khusus yang hanya memiliki satu nilai, yaitu null
atau undefined
. Ini biasanya digunakan dalam konteks variabel yang belum diinisialisasi atau yang secara eksplisit diatur ke null
.
let value: null = null;
let notAssigned: undefined = undefined;
- Penggunaan: Untuk menginisialisasi variabel sebagai tidak terdefinisi atau kosong.
object
#
Tipe object
digunakan untuk objek non-primitif, termasuk array, fungsi, dan objek lain yang didefinisikan oleh pengguna.
let person: { name: string; age: number } = {
name: "John",
age: 30
};
- Penggunaan: Untuk merepresentasikan struktur data yang kompleks dengan berbagai properti.
never
#
Tipe never
digunakan untuk merepresentasikan nilai yang tidak pernah terjadi. Ini biasanya digunakan pada fungsi yang tidak pernah kembali atau selalu melemparkan error.
function error(message: string): never {
throw new Error(message);
}
- Penggunaan: Untuk fungsi yang tidak memiliki titik kembali yang valid (misalnya, fungsi yang selalu melempar error atau loop yang tak berujung).
unknown
#
Tipe unknown
mirip dengan any
, tetapi lebih aman. Anda harus melakukan pemeriksaan tipe sebelum menggunakan nilai unknown
.
let input: unknown = "Hello";
if (typeof input === "string") {
console.log(input.toUpperCase());
}
- Penggunaan: Untuk situasi di mana tipe data mungkin tidak diketahui di awal tetapi harus dipastikan sebelum digunakan.
Union Types #
Union types memungkinkan variabel memiliki lebih dari satu tipe. Ini memberikan fleksibilitas untuk menerima beberapa tipe yang berbeda.
let identifier: number | string = 123;
identifier = "ABC";
- Penggunaan: Untuk kasus di mana variabel atau parameter bisa memiliki beberapa tipe berbeda.
Intersection Types #
Intersection types menggabungkan beberapa tipe menjadi satu. Variabel yang dideklarasikan dengan intersection types harus memenuhi semua tipe yang digabungkan.
interface Person {
name: string;
}
interface Employee {
employeeId: number;
}
let employee: Person & Employee = {
name: "John",
employeeId: 12345
};
- Penggunaan: Untuk menggabungkan beberapa tipe menjadi satu, yang sering digunakan dalam tipe objek yang lebih kompleks.
Kesimpulan #
Dengan berbagai macam tipe data ini, TypeScript memungkinkan pengembang untuk menulis kode yang lebih aman dan terstruktur, mengurangi risiko bug, dan membuat kode lebih mudah dipahami dan dipelihara.