TypeScript'te "Bileşik tür"


TypeScript'te bir tipin hem başka bir tipin özelliklerinden hem de kendi özelliklerinden oluşabileceği bir özellik gördüğümü hatırlıyorum. Ama doğru hatırlayıp hatırlamadığımdan emin değilim. Şunu göz önünde bulundurun:

// type or interface
type X = {
  a: number
};

// type or interface
// composes properties from X ???
type XPlus = {
  [P: keyof X], // include properties from X
  b: boolean    // add a new property
};

// instance includes properties from both X and XPlus
const instance: XPlus = {
  a: 100,
  b: false
};

Bu çalışıyor gibi görünüyor, ancak bunun düşündüğüm şeyi yapıp yapmadığından emin değilim. Böyle bir özellik var mı ve varsa adı nedir?

Cevap #1

Bir kesişim türünü kullanabilirsiniz

// type or interface
type X = {
    a: number
};


type XPlus = X & {
    b: boolean    // add a new property
};

// instance includes properties from both X and XPlus
const instance: XPlus = {
    a: 100,
    b: false
};

İlgili makaleler