10 - Abstract Data Types (ADT)

In the beginning there was only boolean. How did we get to things like Strings, Arrays, and the Math object? What if we want to create our own data type that can hold interesting information and useful functions? How did they create the Math object in JavaScript?