JavaScript Functions

Different type of functions in JavaScript

1. Function declaration | Basic Syntax

// function declaration
function isEven(num) {
return num % 2 === 0;
}

2. Function Expression

var fullName = function(firstName, lastName) {
return `${firstName} ${lastName}`;
}
fullName("Abhay", "Jain"); // Abhay Jain

3. Arrow Function

First:

const double = (value) => {
return value * 2
}
double(10); // 20

Second:

const double2 = value => value * 2;
double2(10); // 20

Third:

const noise = () => console.log("Pling");
noise(); // Pling
const noise2 = _ => console.log("Pling");
noise2(); // Pling

Fourth:

const addAll = (x, y, z) => x + y + z;addAll(10, 20, 30); // 60

Fifth:

const multiply = (a = 2, b = 3, c = 1) => a * b * c;
multiply(2, 2, 2); // 8
multiply(2, 2); // 4
multiply(3); // 9
multiply(); // 6

Function Shorthand methods:

const fruits = {  
items: [],
add(...items) {
this.items.push(...items);
},
get(index) {
return this.items[index];
}
};
fruits.add('mango', 'banana', 'guava');
fruits.get(1); // banana

4. Generator Function:

function * generatorFunction() { 
yield 'Hello, ';
console.log('I will be printed after the pause');
yield 'World!';
}
const generatorObject = generatorFunction();
console.log(generatorObject.next().value);
console.log(generatorObject.next().value);
console.log(generatorObject.next().value);
// output should be following below.
// Hello,
// I will be printed after the pause
// World!
// undefined

Function with: new Function

var sum = new Function('a', 'b', 'return a + b');
console.log(sum(2, 6)); // 8

--

--

--

Developer with 3 yrs of industrial experience in developing scalable web applications.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Hotel Domani

How global TypeScript utilities work under the hood — Partial<Type>

Flatiron School: Phase 5 message-board-throwback

What’s New in Angular 11?

How I improved my experience with Gitlab boards building a Chrome Extension

Packaging a Typescript library — Part 1

How to use Linting tools in Vue.js/Nuxt

Replacing express-validator with custom middlewares

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Abhay Jain

Abhay Jain

Developer with 3 yrs of industrial experience in developing scalable web applications.

More from Medium

Javascript ES6 Modules

Loved and hated JavaScript

WHY JAVASCRIPT?

javascript and its uses

Special Concepts about JavaScript & MongoDB