Loro-lorone nerangake wujude data lan asring bisa diakoni, nanging wae duwe kakmampuan beda.
interface User { name: string; age: number; }
type User2 = { name: string; age: number; };
Loro-lorone nerangake wujude data lan asring bisa diakoni, nanging wae duwe kakmampuan beda.
interface User { name: string; age: number; }
type User2 = { name: string; age: number; };
type ID = string | number; // unions type Pair = [number, number]; // tuples type Name = User["name"]; // indexed/mapped/conditional types type Nullable<T> = T | null; // wrap any type
`type` minangka **alias** umum kanggo tipe apa wae — primitif, union, tuple, mapped type. `interface` mung nerangake wujude obyek/fungsi.
## Apa sing bisa `interface` dilakoni type ora bisa
```ts
interface Box { width: number; }
interface Box { height: number; } // declaration merging — both merge into one
// Box now has width AND height
Interface ndhukung declaration merging (pirang-pirang deklarasi kombina) lan cara idiomatik kanggo extend/augment, kasuwen augment tipe pustaka pihak katelu.
interface Admin extends User { role: string; } // interface
type Admin2 = User & { role: string }; // type uses intersection
Konvensi umum: enggo interface kanggo wujude obyek lan API publik (pesan kesalahan luwih apik, bisa diext, bisa digabung), lan type yen sampeyan butuh union, tuple, utawa operasi tipe liyane. Pilih siji minangka baku kanggo konsistensi — akeh tim baku interface kanggo obyek lan ngalih type mung yen kakuwatan ambane dibutuhake.
Pustaka pitakon wawancara IT kanthi jawaban rinci — saka Junior nganti Senior.
Nyumbang