Interface dan Type
Sintaks Umum
Dalam TypeScript, interface mendefinisikan struktur objek dengan menentukan nama dan tipe properti atau metode yang harus dimiliki sebuah objek. Sintaks umum untuk mendefinisikan interface dalam TypeScript adalah sebagai berikut:
interface InterfaceName { property1: Type1; // ... method1(arg1: ArgType1, arg2: ArgType2): ReturnType; // ...}Demikian pula untuk definisi tipe:
type TypeName = { property1: Type1; // ... method1(arg1: ArgType1, arg2: ArgType2): ReturnType; // ...};interface InterfaceName atau type TypeName: Mendefinisikan nama interface.
property1: Type1: Menentukan properti interface beserta tipe yang sesuai. Beberapa properti dapat didefinisikan, masing-masing dipisahkan oleh titik koma.
method1(arg1: ArgType1, arg2: ArgType2): ReturnType;: Menentukan metode interface. Metode didefinisikan dengan namanya, diikuti daftar parameter dalam tanda kurung dan tipe kembalian. Beberapa metode dapat didefinisikan, masing-masing dipisahkan oleh titik koma.
Contoh interface:
interface Person { name: string; age: number; greet(): void;}Contoh type:
type TypeName = { property1: string; method1(arg1: string, arg2: string): string;};Dalam TypeScript, tipe digunakan untuk mendefinisikan bentuk data dan menerapkan pemeriksaan tipe. Ada beberapa sintaks umum untuk mendefinisikan tipe dalam TypeScript, bergantung pada kasus penggunaan tertentu. Berikut beberapa contohnya:
Tipe Dasar
let myNumber: number = 123; // tipe numberlet myBoolean: boolean = true; // tipe booleanlet myArray: string[] = ['a', 'b']; // array stringlet myTuple: [string, number] = ['a', 123]; // tupleObjek dan Interface
const x: { name: string; age: number } = { name: 'Simon', age: 7 };Tipe Union dan Intersection
type MyType = string | number; // Tipe unionlet myUnion: MyType = 'hello'; // Dapat berupa stringmyUnion = 123; // Atau angka
type TypeA = { name: string };type TypeB = { age: number };type CombinedType = TypeA & TypeB; // Tipe irisanlet myCombined: CombinedType = { name: 'John', age: 25 }; // Objek dengan properti name dan age