Functions: Nesting functions

Functions can be defined inside other functions:

const test = function() {
  const dosomething = function() {
    /* do something */
  }
  dosomething()

  return "test"
}

Arrow functions can contain other arrow function, or also regular functions. You can mix them:

const test = () => {
  const dosomething = () => {}
  dosomething()
  return "test"
}

The nested function cannot be called from the outside of the enclosing function. Just from inside it.

Lessons in this unit:

0: Introduction
1: Function parameters
2: Returning values from a function
3: Arrow functions
4: ▶︎ Nesting functions
5: Immediately-invoked functions
6: Recursive functions