Expression - any valid set of literals, variables and operators. An expression produces a value.
Whenever Javascript expects a statement, an expression may be used but not vice versa. For instance, a statement may not be an argument passed to a function.
A call of a function is an expression.
The grouping operator ( ) controls the precedence of evaluation in expressions.
Statement - produces an action, such as an assignment statement or changes to the flow of the execution of code such as an IF statement
Complex Statement - A complex statement is a sequence of statements inside {}