1

I am having issues typechecking some parameters in a function

function myfun({carengine,cartransmission})
{

   // Some code here

}

I wish to type check it so it is like this function myfun({carengine:CarEngine,cartransmission:CarTransmission})

However this does not work.

How do I typecheck these parameters?

Sajuuk
  • 2,667
  • 3
  • 22
  • 34

1 Answers1

1

Define the type for the structured function argument, eg

interface Car {
  carengine: CarEngine,
  cartransmission: CarTransmission
}

function myfun({ carengine, cartransmission }: Car)
{
   // Some code here
}

Typescript Playground

If you already have a Car type and only want to specify certain properties for your myfun function, you can use Pick

interface Car {
  carengine: CarEngine,
  cartransmission: CarTransmission,
  doors: number
}

function myfun({ carengine, cartransmission }: Pick<Car, "carengine" | "cartransmission">)
{
   // Some code here
}

You can also define the argument type inline but it can get messy fast

function myfun({ carengine, cartransmission }: { carengine: CarEngine, cartransmission: CarTransmission })
{
   // Some code here
}
Phil
  • 157,677
  • 23
  • 242
  • 245