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?
Define the type for the structured function argument, eg
interface Car {
carengine: CarEngine,
cartransmission: CarTransmission
}
function myfun({ carengine, cartransmission }: Car)
{
// Some code here
}
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
}