Home  >  Article  >  Web Front-end  >  Can Arrow Functions in ES2015 Be Named Without `var` or `const`?

Can Arrow Functions in ES2015 Be Named Without `var` or `const`?

Susan Sarandon
Susan SarandonOriginal
2024-11-06 22:46:03674browse

Can Arrow Functions in ES2015 Be Named Without `var` or `const`?

How do I Name Arrow Functions in ES2015?

In ES2015, arrow functions are an elegant way to write concise functions, but you may wonder if it's possible to assign them a name without the traditional var or const syntax.

Consider the following named function:

function sayHello(name) {
    console.log(name + ' says hello');
}

To convert this to an arrow function, one might initially assume that a named arrow function would look something like this:

var sayHello = (name) => {
    console.log(name + ' says hello');
}

However, this approach requires the use of a var statement, which may not be desirable.

The solution lies in assign the arrow function to a variable or property initializer. By doing so, the variable or property name can act as a name for the arrow function. For instance, the following code is perfectly valid:

sayHello = (name) => {
    console.log(name + ' says hello');
}

Like traditional anonymous function expressions, arrow functions assigned in this manner inherit the name of the variable or property they are assigned to. To demonstrate this, consider the following code:

const sayHello = (name) => {
    console.log(name + ' says hello');
};
console.log(sayHello.name); // "sayHello"

In this example, the arrow function has a true name, sayHello, which can be retrieved using the .name property.

The above is the detailed content of Can Arrow Functions in ES2015 Be Named Without `var` or `const`?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn