As you would expect, the tan of 1, 2 and 3 are output and so are the promises resolving 3, 4 and 5. But my question is... why does the third break? Why doesn't Promise.resolve behave in the same way as any other function?

Thanks very much. It is starting to make more sense but I think this is something I'll be digesting for bit. I've been playing a little bit with creating functions as properties of the function object. Trying to understand how resolve() can be called in the first place.
– thomas-peterJul 20 '17 at 19:18

Thank you Quentin for your reply. It was really helpful. I noticed than typeof Math is an object where as typeof Promise is a function (constructor) which has helped me to try and understand.
– thomas-peterJul 20 '17 at 19:19