In which edition of ECMAScript were arrow functions introduced?

The story behind the answer

Arrow functions were introduced in ES6, the sixth edition of ECMAScript, officially named ECMAScript 2015.

Their compact syntax makes short functions easier to write. A traditional function such as `function (x) { return x * 2; }` can be written as `x => x * 2`. Arrow functions are especially common with array methods such as `map()`, `filter()`, and `reduce()`, where a small callback is needed.

Their most distinctive behavioral difference is how they handle `this`. An arrow function does not create its own dynamic `this`; instead, it captures the value from the surrounding lexical scope. It also does not have its own `arguments` object and cannot be used as a constructor with `new`. These traits make arrow functions useful for callbacks but unsuitable for every method or object design.

ES6 was a major modernization of JavaScript. Alongside arrow functions, it introduced `let` and `const`, classes, modules, template literals, destructuring, promises, and the spread syntax. “ES6” and “ES2015” therefore refer to the same language edition.

Source: Wikipedia · fact-checked Aug. 2026

Add question to a list

Choose a list to keep this question in: