Using Functions

Having informally used and discussed functions, it is time to formalize a few concepts.

A function call is the act of using a function by referring to its name, followed by parentheses. A synonymous term is function invocation, and we will sometimes say that we are “invoking a function.”

Within parentheses, a comma-separated list of arguments may be provided when calling a function. These are sometimes called inputs, and we say that the inputs are “passed to” the function.

A generic function call looks like this:

functionName(argument1, argument2,...,argumentN);

Every function provides a return value, which can be used by the calling program—for example, to store in a variable or print to the console.


A return value may be stored in a variable.

let stringVal = String(42);

It may also be used in other ways. For example, here we use the return value as the input argument to console.log without storing it.


Console Output


If a function doesn’t provide an explicit return value, the special value undefined will be returned.

let returnVal = console.log("LaunchCode");

Console Output


The special value undefined is built into JavaScript. As with booleans, it is not a string, so undefined === "undefined" returns false.

In some cases, calling a function results in an action that changes the state of a program outside of the function itself. Such a behavior is known as a side effect.


Calling console.log results in output to the console, which is a side effect.