AnyCompiler

Arrow Functions

Arrow functions são uma forma mais compacta de escrever uma função — o equivalente em JavaScript ao lambda do Python, embora usadas com muito mais frequência no dia a dia do que o lambda é no Python.

const square = (x) => x * x;
console.log(square(5));
Output
25

(x) => x * x significa "uma função que recebe x e retorna x * x" — funcionalmente idêntica a escrever function square(x) { return x * x; }, só que condensada em uma linha. Quando o corpo é uma única expressão, o return é implícito — não é preciso a palavra-chave return nem chaves.

Onde as arrow functions são realmente usadas

Você verá arrow functions passadas com mais frequência diretamente em métodos de array como map(), onde definir uma função nomeada separada seria uma formalidade desnecessária para algo tão pequeno.

const numbers = [1, 2, 3, 4, 5];
const squared = numbers.map((x) => x * x);
console.log(squared);
Output
[ 1, 4, 9, 16, 25 ]

A seguir: métodos de array — map, filter, e reduce, a forma idiomática de transformar coleções em JavaScript.

Exercício de Prática

Escreva uma arrow function chamada double que multiplique seu argumento por 2, e depois imprima double(9).