# C1. Functions

1. [JavaScript Functions](c1-functions/01-functions):
   1. [Function declaration](c1-functions/01.i-function-declaration)
   2. [Function expression](c1-functions/01.ii-function-expression)
   3. [IIFE expression](c1-functions/01.iii-iife)
2. [Function parameters and arguments](c1-functions/02-function-paramenters):
   1. [Function parameters extensions in ES6](c1-functions/02.i-function-paramenters-es6)
   2. [`arguments` object](c1-functions/02.ii-function-arguments-object)
3. [Function invocation](c1-functions/03-function-invocation):
   1. [Arrow functions](c1-functions/03.i-arrow-functions-es6)
   2. [Method invocation](https://github.com/anton-kabysh/javascript/tree/bd3a6b95da9b9b155454649ef292f5afb1607532/01-language/c-functions/objects/03-object-methods.md)
   3. [Bound function](c1-functions/03.ii-bound-function)
   4. [Functional closure](c1-functions/03.iii-function-closure)
   5. [Tail calls optimization in ES6](c1-functions/03.iv-tail-call-optimization-es6)
4. [Function object](c1-functions/04-functions-as-objects):
5. [`Function` constructor](c1-functions/05-function-constructor)
6. [Callable entities](c1-functions/06-callable-entities-es6)
