Movatterモバイル変換


[0]ホーム

URL:


Menu
×
See More 
Sign In
+1 Get Certified Upgrade Teachers Spaces Bootcamps Get Certified Upgrade Teachers Spaces Bootcamps
   ❮     
     ❯   

Basic JavaScript

JS TutorialJS SyntaxJS VariablesJS OperatorsJS If ConditionsJS LoopsJS StringsJS NumbersJS FunctionsJS ObjectsJS ScopeJS DatesJS Temporal DatesJS ArraysJS SetsJS MapsJS IterationsJS MathJS RegExpJS DestructuringJS Data TypesJS ErrorsJS DebuggingJS ConventionsJS ReferencesJS 2026JS Versions

JS HTML

JS HTML DOMJS EventsJS ProjectsNew

JS Advanced

JS FunctionsJS ObjectsJS ClassesJS AsynchronousJS ModulesJS Meta & ProxyJS Typed ArraysJS DOM NavigationJS WindowsJS Web APIsJS AJAXJS JSONJS jQueryJS GraphicsJS ExamplesJS Reference


JavaScript Arrow Functions

Arrow Functions allow a shorter syntax forfunction expressions.

You can skip thefunction keyword, thereturn keyword, and thecurly brackets:

const add = (a, b) => a * b;
Try it Yourself »

Arrow Functions were introduced inES6 and are commonlyused in modern JavaScript.

Arrow Function Syntax

An arrow function uses the=> symbol.

An arrow function is always written as a function expression.

Example

const add = (a, b) => {
  return a + b;
};

This arrow function does the same thing as a regular function expression.


Shorter Syntax

If the function body contains only one statement:

You can remove the wordfunction, thecurly brackets and thereturn keyword.

Before Arrow

Function to compute the product of a and b:

const add = function(a, b) {return a * b}

Try it Yourself »

With Arrow

const add = (a, b) => a * b;

Try it Yourself »

With Arrow

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

Try it Yourself »

Before Arrow

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

Try it Yourself »


Arrow Functions with One Parameter

If a function has only one parameter, you can omit the parentheses:

With Paranthesis

const square = (x) => x * x;
Try it Yourself »

Without Paranthesis

const square = x => x * x;
Try it Yourself »

With Paranthesis

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

Without Paranthesis

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

Arrow Functions Return Value by Default

If the function has only one statement that returns a value:

You can remove thebrackets and thereturn keyword:

Example

const 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

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

Try it Yourself »

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

Example

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

Try it Yourself »


Arrow Functions with No Parameters

If there are no parameters, parentheses are required.

With Arrow Function:

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

Try it Yourself »

You can only omit thereturn keyword and thecurly brackets if the function is a singlestatement. Because of this, it might be a good habit to always keep them:

Example

// This will return undefined
const myFunction = (x, y) => { x * y };

// This wull return undefined
const myFunction = (x, y) => return x * y;

// This will return the expected result
const myFunction = (x, y) => { return x * y };
Try it Yourself »


Arrow Functions Are Not Declarations

Arrow functions are always expressions and must be assigned to a variable.

They cannot be used before they are defined.

Example

hello(); // Error

const hello = () => "Hello";

Note

Arrow functions must be definedbefore they are used.


Arrow Functions and the this Keyword

Arrow functions do not have their ownthis value.

They inheritthis from the surrounding code.

Example

const person = {
  name: "John",
  greet: function() {
    return this.name;
  }
};

Using an arrow function as a method often gives unexpected results.

Example

const person = {
  name: "John",
  greet: () => {
    return this.name;
  }
};

In this case,this does not refer to theperson object.


When to Use Arrow Functions

  • For short functions
  • For callbacks and array methods
  • When you do not need your ownthis

When Not to Use Arrow Functions

  • As object methods
  • When you need your ownthis
  • When using function declarations

Quiz

What is one important difference between arrow functions and regular functions?


Common Mistakes

  • Forgetting Parentheses Rules

    Parentheses are required for zero or multiple parameters.
  • Using Arrow Functions as Methods

    Arrow functions do not bindthis.
  • Expecting Hoisting

    Arrow functions arenot hoisted.

End of Functions Section

You have now learned the most important concepts about JavaScript functions.

Try the quiz to test your knowledge.

JavaScript Functions Quiz




×

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 ourterms of use,cookies andprivacy policy.

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

-->
[8]ページ先頭

©2009-2026 Movatter.jp