Home > Article > Web Front-end > 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!