[Go to site: main page, start]

0% found this document useful (0 votes)
2 views8 pages

JavaScript Arrow Function

Arrow functions, introduced in ES6, provide a shorter syntax for writing functions and automatically return values when there is a single statement. They also handle the 'this' keyword differently, always referring to the object that defined the arrow function rather than the object that called it. Browser support for arrow functions began with Chrome 45, Edge 12, Firefox 22, Safari 10, and Opera 32.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views8 pages

JavaScript Arrow Function

Arrow functions, introduced in ES6, provide a shorter syntax for writing functions and automatically return values when there is a single statement. They also handle the 'this' keyword differently, always referring to the object that defined the arrow function rather than the object that called it. Browser support for arrow functions began with Chrome 45, Edge 12, Firefox 22, Safari 10, and Opera 32.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

 Menu  Log in

Dark mode
Dark code
  HTML CSS   

JavaScript Arrow Function


❮ Previous Next ❯

Arrow functions were introduced in ES6.

Arrow functions allow us to write shorter function syntax:

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

Try it Yourself »

Before Arrow:
hello = function() {
return "Hello World!";
}

Try it Yourself »

With Arrow Function:


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

Try it Yourself »

It gets shorter! If the function has only one statement, and the statement returns a
value, you can remove the brackets and the return keyword:

Arrow Functions Return Value by Default:


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

Try it Yourself »

Note: This works only if the function has only one statement.

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

Arrow Function With Parameters:

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

Try it Yourself »

In fact, if you have only one parameter, you can skip the parentheses as well:

Arrow Function Without Parentheses:


hello = val => "Hello " + val;
Try it Yourself »

What About this ?


The handling of this is also different in arrow functions compared to regular
functions.

In short, with arrow functions there are no binding of this .

In regular functions the this keyword represented the object that called the function,
which could be the window, the document, a button or whatever.

With arrow functions the this keyword always represents the object that defined the
arrow function.

Let us take a look at two examples to understand the difference.

Both examples call a method twice, first when the page loads, and once again when the
user clicks a button.

The first example uses a regular function, and the second example uses an arrow
function.

The result shows that the first example returns two different objects (window and
button), and the second example returns the window object twice, because the window
object is the "owner" of the function.

Example
With a regular function this represents the object that calls the function:

// Regular Function:
hello = function() {
[Link]("demo").innerHTML += this;
}
// The window object calls the function:
[Link]("load", hello);

// A button object calls the function:


[Link]("btn").addEventListener("click", hello);

Try it Yourself »

Example
With an arrow function this represents the owner of the function:

// Arrow Function:
hello = () => {
[Link]("demo").innerHTML += this;
}

// The window object calls the function:


[Link]("load", hello);

// A button object calls the function:


[Link]("btn").addEventListener("click", hello);

Try it Yourself »

Remember these differences when you are working with functions. Sometimes the
behavior of regular functions is what you want, if not, use arrow functions.

Browser Support
The following table defines the first browser versions with full support for Arrow
Functions in JavaScript:
Chrome 45 Edge 12 Firefox 22 Safari 10 Opera 32

Sep, 2015 Jul, 2015 May, 2013 Sep, 2016 Sep, 2015

❮ Previous Next ❯

COLOR PICKER

  

Get certified
by completing
a JavaScript
course today!

school
w3 s

2
CE

02
TI 2

R
FI .
ED

Get started

Report Error

Spaces

Upgrade

Newsletter
Get Certified

Top Tutorials
HTML Tutorial
CSS Tutorial
JavaScript Tutorial
How To Tutorial
SQL Tutorial
Python Tutorial
[Link] Tutorial
Bootstrap Tutorial
PHP Tutorial
Java Tutorial
C++ Tutorial
jQuery Tutorial

Top References
HTML Reference
CSS Reference
JavaScript Reference
SQL Reference
Python Reference
[Link] Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference

Top Examples
HTML Examples
CSS Examples
JavaScript Examples
How To Examples
SQL Examples
Python Examples
[Link] Examples
Bootstrap Examples
PHP Examples
Java Examples
XML Examples
jQuery Examples

Get Certified
HTML Certificate
CSS Certificate
JavaScript Certificate
Front End Certificate
SQL Certificate
Python Certificate
PHP Certificate
jQuery Certificate
Java Certificate
C++ Certificate
C# Certificate
XML Certificate

FORUM | ABOUT

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-2023 by Refsnes Data. All Rights Reserved.


W3Schools is Powered by [Link].

You might also like