TypeScript - Fitur: Panduan untuk Pemula

Hai, para pemrogram masa depan! Saya sangat senang menjadi panduan Anda dalam perjalanan menarik ini ke dunia TypeScript. Sebagai seseorang yang telah mengajar ilmu komputer selama bertahun-tahun, saya telah melihat secara langsung betapa kuat dan transformatif TypeScript bisa menjadi. Jadi, mari kita masuk dan jelajahi fitur fantastik yang membuat TypeScript teman terbaik seorang pengembang!

TypeScript - Features

Apa itu TypeScript?

Sebelum kita melompat ke fitur, mari kita mengerti apa itu TypeScript secara cepat. Bayangkan Anda membangun sebuah rumah dengan blok Lego. JavaScript seperti memiliki sebuah kotak besar berisi blok berwarna-warni, tapi TypeScript seperti memiliki blok yang sama dengan petunjuk dan aturan khusus untuk bagaimana mereka cocok bersama. Itu membantu Anda membangun struktur yang lebih stabil dan bebas dari kesalahan!

Sekarang, mari kita jelajahi fitur yang membuat TypeScript begitu istimewa.

Anotasi Tipe

Dasar-dasar Anotasi Tipe

Anotasi tipe seperti memberikan label pada sebuah kotak untuk menjelaskan apa yang di dalamnya. Dalam TypeScript, kita gunakan itu untuk memberitahu komputer jenis data apa yang kita gunakan.

let myName: string = "Alice";
let myAge: number = 30;
let isStudent: boolean = true;

Dalam contoh ini, kita memberitahu TypeScript bahwa:

  • myName hanya boleh berisi teks (string)
  • myAge hanya boleh berupa nomor
  • isStudent adalah benar atau salah (boolean)

Ini membantu mencegah kesalahan bodoh, seperti mencoba melakukan matematika dengan nama seseorang!

Mengapa Itu Berguna

Bayangkan Anda sedang memasak dan secara kebetulan membuang gula ke saus spagheti Anda instead of garam. Anotasi tipe membantu mencegah kesalahan seperti itu dalam kode Anda. Itu menangkap kesalahan sebelum mereka terjadi, menyelamatkan Anda waktu dan kesakitan!

Antarmuka (Interfaces)

Antarmuka seperti rancangan untuk objek. Mereka menentukan struktur yang harus dimiliki sebuah objek.

interface Person {
name: string;
age: number;
greet(): void;
}

let student: Person = {
name: "Bob",
age: 20,
greet: function() {
console.log("Hello, I'm " + this.name);
}
};

Di sini, kita telah membuat sebuah antarmuka Person yang mengatakan bahwa setiap objek Person harus memiliki name, age, dan fungsi greet. Itu seperti mengatakan ke seseorang, "Jika Anda ingin menjadi seorang dalam program ini, Anda butuh hal ini!"

Kelas (Classes)

Kelas seperti pemotong kue untuk objek. Mereka memungkinkan kita untuk membuat banyak objek dengan struktur dan perilaku yang sama.

class Dog {
name: string;
breed: string;

constructor(name: string, breed: string) {
this.name = name;
this.breed = breed;
}

bark() {
console.log(this.name + " says Woof!");
}
}

let myDog = new Dog("Buddy", "Golden Retriever");
myDog.bark(); // Output: Buddy says Woof!

Dalam contoh ini, kita telah membuat sebuah kelas Dog. Itu seperti sebuah templat untuk membuat objek anjing. Setiap anjing memiliki nama dan ras, dan bisa menjerit. Itu jauh lebih mudah daripada menulis properti dan metode setiap anjing secara individual!

Pewarisan (Inheritance)

Pewarisan seperti menyampaikan karakteristik dari orang tua ke anak. Dalam pemrograman, itu memungkinkan sebuah kelas mewarisi properti dan metode dari kelas lain.

class Animal {
name: string;

constructor(name: string) {
this.name = name;
}

move() {
console.log(this.name + " is moving.");
}
}

class Cat extends Animal {
meow() {
console.log(this.name + " says Meow!");
}
}

let myCat = new Cat("Whiskers");
myCat.move(); // Output: Whiskers is moving.
myCat.meow(); // Output: Whiskers says Meow!

Di sini, Cat mewarisi dari Animal. Ini berarti Cat memiliki segala sesuatu yang Animal punya (seperti properti name dan metode move), plus metode meow yang uniknya sendiri.

Enums

Enums seperti daftar opsional yang terdefinisi. Mereka sangat cocok untuk saat Anda memiliki set nilai tetap yang sesuatu bisa menjadi.

enum DaysOfWeek {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}

let today: DaysOfWeek = DaysOfWeek.Wednesday;
console.log(today); // Output: 2 (karena itu adalah item ketiga dalam daftar, dimulai dari 0)

Enums membuat kode Anda lebih mudah dibaca dan membantu mencegah kesalahan dengan membatasi nilai yang mungkin sebuah variabel bisa memiliki.

Jenis Umum (Generics)

Jenis umum seperti kartu wild card dalam permainan kartu. Mereka memungkinkan Anda menulis fungsi dan kelas yang fleksibel dan dapat digunakan kembali yang bisa bekerja dengan jenis yang berbeda.

function identity<T>(arg: T): T {
return arg;
}

let output1 = identity<string>("Hello");
let output2 = identity<number>(42);

console.log(output1); // Output: Hello
console.log(output2); // Output: 42

Dalam contoh ini, <T> adalah variabel jenis. Itu memungkinkan fungsi identity bekerja dengan jenis apa pun, sambil tetap menjaga keselamatan jenis.

Jenis Gabungan (Union Types)

Jenis gabungan seperti memiliki beberapa jenis kepribadian. Mereka memungkinkan sebuah variabel menjadi salah satu dari beberapa jenis.

let mixedType: string | number;
mixedType = "Hello";
console.log(mixedType); // Output: Hello

mixedType = 42;
console.log(mixedType); // Output: 42

Ini sangat berguna saat Anda tidak yakin jenis data apa yang Anda akan menerima, tapi Anda tahu itu bisa menjadi salah satu dari beberapa jenis tertentu.

Penjagaan Jenis (Type Guards)

Penjagaan jenis seperti pemeriksaan keamanan dalam kode Anda. Mereka membantu Anda mengecilkan jenis variabel dalam blok kode tertentu.

function printLength(obj: string | string[]) {
if (typeof obj === "string") {
console.log("Length of string: " + obj.length);
} else {
console.log("Length of array: " + obj.length);
}
}

printLength("Hello"); // Output: Length of string: 5
printLength(["a", "b", "c"]); // Output: Length of array: 3

Penjagaan jenis membantu TypeScript mengerti jenis variabel dalam konteks yang berbeda, memungkinkan Anda menggunakan operasi jenis tertentu dengan aman.

Kesimpulan

Dan di sana Andapun, teman-teman! Kita telah menjelajahi pengelaman menarik fitur TypeScript. Ingat, belajar mengoding adalah seperti belajar bahasa baru - itu memerlukan latihan dan kesabaran. Jangan takut untuk mencoba dan membuat kesalahan; itu adalah bagaimana kita belajar terbaik!

Terus coding, terus belajar, dan sebelum Anda sadari, Anda akan membangun hal-hal yang menakjubkan dengan TypeScript. Semangat coding, semua orang!

Credits: Image by storyset