There are broadly three types of syntactic container that exist within JavaScript: expressions, statements, and blocks. They are all containers in that they all hold other pieces of syntax and all have distinct behaviors that are worth distinguishing.
It's best to visualize the individual syntactic parts of a program as a hierarchy:
Here, we can see that individual expressions (with a lower border) are wrapped in statements, either of the regular or block...