Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS DSA TYPESCRIPT ANGULAR ANGULARJS GIT POSTGRESQL MONGODB ASP AI R GO KOTLIN SWIFT SASS VUE GEN AI SCIPY CYBERSECURITY DATA SCIENCE INTRO TO PROGRAMMING BASH RUST

Basic JavaScript

JS Tutorial JS Syntax JS Variables JS Operators JS If Conditions JS Loops JS Strings JS Numbers JS Functions JS Objects JS Dates JS Arrays JS Typed Arrays JS Sets JS Maps JS Math JS RegExp JS Data Types JS Errors JS Events JS Programming JS References JS UTF-8 Characters JS Versions

JS Advanced

JS Functions JS Objects JS Classes JS Iterations JS Asynchronous JS Modules JS HTML DOM JS Windows JS Web API JS AJAX JS JSON JS jQuery JS Graphics JS Examples JS Reference


JavaScript Arrow Functions

Arrow Functions were introduced in ES6.

Arrow Functions allow a shorter syntax for function expressions.

You ca skip the function keyword, the return keyword, and the curly brackets:

let myFunction = (a, b) => a * b;
Try it Yourself »

Before Arrow:

Function to compute the product of a and b

let myFunction = function(a, b) {return a * b}

Try it Yourself »

With Arrow

let myFunction = (a, b) => a * b;

Try it Yourself »

Before Arrow:

let hello = function() {
  return "Hello World!";
}

Try it Yourself »

With Arrow Function:

let hello = () => {
  return "Hello World!";
}

Try it Yourself »

If the function has only one statement that returns a value, you can remove the brackets and the return keyword:

Arrow Functions Return Value by Default:

let hello = () => "Hello World!";

Try it Yourself »

Note

This works only if the function has only one statement.



Arrow Function Parameters

If you have parameters, you pass them inside the parentheses:

Example

let hello = (val) => "Hello " + val;

Try it Yourself »

If you have only one parameter, you can skip the parentheses as well:

Example

let hello = val => "Hello " + val;
this

Try it Yourself »


Note

Arrow functions must be defined before they are used.

You can only omit the return keyword and the curly brackets if the function is a single statement. Because of this, it might be a good habit to always keep them:

Example

// This will not work
let myFunction = (x, y) => { x * y } ;

// This will not work
let myFunction = (x, y) => return x * y ;

// Only this will work
let myFunction = (x, y) => { return x * y };
Try it Yourself »

Browser Support

= () => {} is an ES6 feature.

ES6 is fully supported in all modern browsers since June 2017:

Chrome
51
Edge
15
Firefox
54
Safari
10
Opera
38
May 2016 Apr 2017 Jun 2017 Sep 2016 Jun 2016


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2025 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.