Interfaces vs Types in TypeScript

Original Answer (2016) As per the (now archived) TypeScript Language Specification: Unlike an interface declaration, which always introduces a named object type, a type alias declaration can introduce a name for any kind of type, including primitive, union, and intersection types. The specification goes on to mention: Interface types have many similarities to type aliases for object type literals, … Read more