Introduction
Intersection types let you combine multiple types into one. This means a value must have all the properties from each type.
When you want an object to have properties from two different types at the same time.
When combining features from multiple interfaces into one variable.
When you want to be sure a value meets several type requirements together.