Typescript offers two ways to define types. Either Type-Aliases or Interfaces. The choice of which to use depends on the complexity of the type you want to define.
For most cases, a Type-Alias would get the job done. Most things offered by interfaces are also available in the Type-Alias API. Let's see an example
Extending types
With interfaces, you could do this
interface Human {
height: number,
age: number,
name: string
}
interface Woman extends Human {
canConcieve: boolean
}
Applying the same logic using Type-Aliases would be
type Human = {
height: number,
age: number,
hairColor: string
}
type Woman = {
canConcieve: boolean
}
const Chisom: Human & Woman = {
height: 1.5,
age: 20,
hairColor: 'brown',
canConcieve: true
}
People who prefer functional-style programming to Object-Oriented Programming may find Type-Aliases to be a better approach. Loosely defined types that can be combined.
Top comments (4)
Nice approach.
Thanks this seems very handy.
Very useful. Thanks!
Don't forget the Class. No explicit interface needed but acts just like an interface.