Functions and Prototypes in JavaScript
3 min readApr 25, 2020
Functions
- Particular business logic is called a function
- Functions are used to reuse the business logic
- As per year ES6 to ES11 we’ve following type of functions :
(a) Named function
(b) Anonymous / arrow / callback function
(c) Rest parameters in function
(d) Optional parameters in function
(e) Default parameters in function
(f) Constructor functions
Named function
- The function with the name is called the named function

Anonymous function or Arrow function or callback function
- The function without a name is called an anonymous function
- It is also called Arrow function
- Arrow function concept introduced in ES6
- An arrow function is secured compared to the other functions
- Arrow functions behave like callback functions

Rest parameters in function
- “…” technically called as spread operator
- Spread operator introduced in ES6
- The spread operator has the capability to hold multiple values
- Because of spread operator argument behaves like an array
- The default value of spread operator augment is “[ ]”

Optional parameters in function
- While calling the functions few parameters are optional
- We’ll represent optional parameters by using “?”
- This concept also introduced in ES6
- Optional parameters will work in “Typescript environment”
- Superset of JavaScript is called as “Typescript”
Environmental setup of Typescript

- where “npm” stands for node packaging manager
- “npm” is the inbuilt tool for node.js
- “npm” helps to install Typescript
- “-g” stands for global installation
Execution of Typescript
- Typescript file should’ve the extension “.ts”
- We will execute Typescript by using “tsc” tool
- “tsc” stands for Typescript compiler
- If we execute Typescript in current path equalent “JavaScript” file will be generated
- Converting Typescript to equivalent JavaScript is called as transpilation

Default parameters in function
- While defining the functions, we initialize parameters with default values
- Default parameters also introduced in ES6

Constructor parameters in function
- It helps to create the classes like structure in JavaScript
- In the constructor function, all members (variables and functions) should start with “this” keyword


Prototypes in JavaScript
- The prototype is the predefined property in JavaScript
- Prototype property helps to add the properties and functions to existed class dynamically

Prototype chaining (Inheritance)
- Getting the properties from the parent class to child class called as prototype chaining
- create() is the predefined function in object class helps to implement the prototype chaining in JavaScript

