Programming
  • Programming
  • 01. Languages
    • JavaScript
      • 01. JS Language
        • A. Language Core
          • A1. Execution
            • 01. Execution Context
            • 02. Environment Object
            • 03. Environment
            • 04. Lexical Scope
            • 05. Lexical Closure
            • 06. Global Environment
            • 07. Strict Mode
            • 08. Eval
          • A2. Operators
            • 01. Operators
            • 02. Statements
            • 03. Loops
            • 04. switch
          • A3. Type System
            • 01. undefined
            • 02. null
            • 03. Boolean
            • 04. Number
            • 05.a - Strings
            • 05.b - Template Literals
            • 05.c - Unicode
            • 06. Symbol
            • 07. Wrapper Classes
            • 08. Type Conversions
            • 09. Value Equality
            • 10. BigInt
        • B. Structured Types
          • B1. Arrays
            • 01. Arrays
            • 02. Array Length
            • 03. Array Holes
            • 04. Array Iteration
            • 05. Array Operations
            • 06. Array-like Objects
          • B2. Objects
            • 00. Objects
            • 01. Object Creation
            • 02. Copying Objects
            • 03. Object Methods
            • 04. Object Properties
            • 05. Property Attributes
            • 06. Object Iteration
            • 07. Freezing Object
            • 08. Object to Primitive
            • 09. Prototype Chain
            • 10. Object.toString
            • 11. Object rest/spread
            • 12. Objects Cheat Sheet
          • B3. Destructing
            • 01. Destructing
            • 02. Destructing Pattern
            • 03. Object Destructing
            • 04. Array Destructing
            • 05. Assignment Destructing
            • 06. Destructing collections
          • B4. JSON
            • 01. JSON
            • 02. JSON and JavaScript
            • 03. Parsing JSON
          • B5. Collections
            • 01. Map
            • 02. Set
            • 03. Weak Collections
            • 04. Typed Arrays
        • C. Functions
          • C1. Functions
            • 01. Functions
            • 01.i Function Declaration
            • 01.ii Function Expression
            • 01.iii IIFE
            • 02. Function Parameters
            • 02.i ES6 Parameters
            • 02.ii Arguments object
            • 03. Function Invocation
            • 03.i Arrow functions (=>)
            • 03.ii Bound Function
            • 03.iii Function Closure
            • 03.iv Tail-call optimization
            • 04. Functions as Objects
            • 05. Function Constructor
            • 06. Callable entities
          • C2. Inheritance
            • 01. Constructor Function
            • 02. Constructor Prototype
            • 03. Constructor Property
            • 04. instanceof Operator
            • 05. Enforce new
          • C3. Classes
            • 01. Classes
            • 02. Class Declaration
            • 03. Class Methods
            • 04. Subclassing
            • 05. Private Data
            • 06. Mixins
            • 07. Species Pattern
            • 08. Class Fields
          • C4. Meta
            • 01. Proxy
            • 02. Create Proxy
            • 03. Revocable Proxies
            • 04. Proxy Decorator
        • D. Modules
          • 01. Modules
          • 02. Export
          • 03. Import
          • 04. Cyclic Dependencies
          • 05. Browser Modules
          • 06. Dynamic Import
          • 07. import.meta
        • E. Control Abstractions
          • E1. Iteration
            • 01. Iterable
            • 02. Iterators
            • 03. Closeable Iterator
            • 04. for-of loop
            • 05. Infinite Iterator
          • E2. Exception Handling
            • 01. try-catch-finally
            • 02. Optional Catch
            • 03 Conditional Catch
            • 04. throw expression
            • 05. Error Object
          • E3. Generators
            • 01. Generators
            • 02. Generator Syntax
            • 03. Generator Execution
            • 04. Generator .next()
            • 05. Generator .return()
            • 06. Generator .throw()
            • 07. Generators Composition
            • 08. Generators as Iterators
            • 09. Lazy sequences
          • E4. Promises
            • 01. Promises
            • 02. Promise State
            • 03. Promise Creation
            • 04. Promise Reactions
            • 04.i Promise.then()
            • 04.ii Promise.catch()
            • 04.iii Promise.finally()
            • 05. Thenable
            • 06. Chaining Promises
            • 07. Promise Composition
            • 08. Promise in Depth
            • 09. Promise Patterns
          • E5. Async functions
            • 01. Async Functions
            • 02. Async Function Syntax
            • 03. Await Expression
            • 04. Async Function Execution
            • 05. Error Handling
            • 06. In depth
            • 07. Async Callbacks
            • 08. Async Iteration
            • 09. Async Generators
      • 02. Package Development
      • 03. TypeScript
      • 04. Libraries
      • 05. Runtime Execution
        • Event-Loop Runtime
        • Browser Event Loop
        • NodeJS Event Loop
    • Go Lang
      • 01. Development
        • Go Workspace
        • Go Commands
        • Go Modules
        • Packages
        • Entry Point
        • Build
      • 02. Language
        • 01. Primitive Types
        • 02. Declarations
        • 03. Flow Control
        • 04. Functions
        • 05. Composite Types
          • Arrays
          • Slices
          • Maps
          • Structs
        • 07. Abstractions
        • 08. Type System
        • 09. Error Handling
      • 03. Tools
      • 04. Libraries
        • Standard Library
        • Databases
        • JSON
        • Go Web Services
      • 05. Concurrency
        • Goroutines
        • Channels
    • Scala
      • 01. Scala Language
        • Ordering
        • Impilcits
      • 02. Tools
      • 03. Libraries
    • Python
    • Primitives
  • 02. Tools
    • Git
      • 01. Setup Repository
      • 02. Git Config
      • 03. Git Data Model
      • 04. Git File Types
      • 05. Commit
      • 06. Inspecting a Repository
      • 07. Rebasing
      • 08. Undoing Changes
      • 09. Remote
      • 10. Branching
      • 11. Git Maintenance
      • 12. Git Workflow
    • Mac Setup
    • VS Code
  • 03. Paradigms
    • Functional Programming
      • Pure Functions
      • State
      • Algebraic Effects
    • FRP
  • 04. Design
    • Clean Code
    • SCIP
    • Design
      • Clean Engineering
    • Architecture
    • Practice
  • 05. Algorithms
    • Algorithms
    • Data Structures
    • Concurrency
      • CPS
  • 06. Testing
    • Testing
    • Performance
Powered by GitBook
On this page

Was this helpful?

  1. 01. Languages
  2. JavaScript
  3. 01. JS Language
  4. C. Functions

C1. Functions

  1. JavaScript Functions:

    1. Function declaration

    2. Function expression

    3. IIFE expression

  2. Function parameters and arguments:

    1. Function parameters extensions in ES6

    2. arguments object

  3. Function invocation:

    1. Arrow functions

    2. Method invocation

    3. Bound function

    4. Functional closure

    5. Tail calls optimization in ES6

  4. Function object:

  5. Function constructor

  6. Callable entities

PreviousC. FunctionsNext01. Functions

Last updated 5 years ago

Was this helpful?