Declaration merging yaiku TypeScript nggabung pirang-pirang deklarasi kanthi jeneng padha dadi siji definisi. Interfaces, namespaces, lan sawetara konstruk liyane nggabung kanthi otomatis.
Interface merging
interface { : ; }
{ : ; }
Declaration merging yaiku TypeScript nggabung pirang-pirang deklarasi kanthi jeneng padha dadi siji definisi. Interfaces, namespaces, lan sawetara konstruk liyane nggabung kanthi otomatis.
interface { : ; }
{ : ; }
Iki carane nambahi tipe menyang library utawa global sing ora sampeyan duwe:
// Add a custom property to Express's Request
declare global {
namespace Express {
interface Request { user?: { id: string }; } // merges into Express.Request
}
}
request.user; // ✅ now typed everywhere
// Augment a module
declare module "some-lib" {
interface Options { newOption: boolean; }
}
Kamit Request/Options ing library yaiku interface, deklarasi sampeyan nggabung menyang iku tinimbang bentur — ngidini sampeyan nambahi tipe kanthi aman sing ora bisa sampeyan sunting.
function greet() {}
namespace greet { export const version = "1.0"; }
greet.version; // "1.0" — namespace merged onto the function
type ora bisa gawe ikitype A = { x: number };
type A = { y: number }; // ❌ Error: duplicate identifier
Type aliases unik; mung interfaces (lan namespaces) nggabung — alasan kunci nggunakake interface kanggo API shapes sing bisa dikembangke.
Declaration merging yaiku mekanisme ing mburi module augmentation — nambahi Express requests, nambahi window, nggawe library types khusus, sistim tema.
Iku pengetahuan penting kanggo typing app nyata ing ngendi sampeyan kudu gawe tipe sing ora sampeyan kontrol, tanpa nggandol.
Pustaka pitakon wawancara IT kanthi jawaban rinci — saka Junior nganti Senior.
Nyumbang