ES6 introduced the arrow syntax of writing function expressions:
const addOne = (val) => { return ++val }
To further complicate matters, we can omit the parentheses around val because there's only one parameter:
const addOne = val => { return ++val }
The main difference between arrow functions and expressions is centered around lexical scoping. We touched on scope with hoisting, and we'll discuss it in more detail in the next chapter.