O que são Arrow Functions?

A nova versão do JavaScript, a ES6, trouxe novas features e dentre elas uma nova forma de criar funções usando o operador =>. Esta nova forma de se trabalhar com funções são chamadas Arrow Functions.

Uma expressão arrow function possui uma sintaxe mais curta quando comparada a uma expressão de função (function expression) e não tem seu próprio this, arguments, super ou new.target. Estas expressões de funções são melhor aplicadas para funções que não sejam métodos, e elas não podem ser usadas como construtoras (constructors).

Podemos encurtar ainda mais a sintaxe de uma arrow function, desde que ela possua apenas uma declaração:

Arrow Functions não podem ser usadas como construtores

Por esse motivo as arrow functions não são adequadas como métodos de objetos nem como construtores. Com excessão a sintaxe, valor de this e o operador new, tudo mais continua funcionando da mesma forma em ambas declarações, seja arrow function, seja funções tradicionais, ou seja, ambos são instâncias de Function.

Benefícios das Arrow Functions

  • São menos verbosas do que as funções tradicionais
  • Seu valor de this é definido à partir das funções onde foram definidas. Ou seja, não é mais necessário fazer bind() ou armazenar o estado em that = this;

Sintaxe menos verbosa

Havia uma dúvida entre qual tipo de seta usar para as arrow functionst. A seta “magra” (->) ou a seta “gorda” (=>). No final, a seta “gorda” (fat arrow) acabou se tornando o padrão para se tornar compatível com CoffeeScript, que já possui fat arrow e se comporta de uma maneira similar à proposta do ECMAScript 6.

Compartilhe

Sobre o autor

James R. Moro

James Moro

Iniciei minha vida profissional como desenvolvedor web em 2008. Tenho um canal no Youtube onde publico vídeos sobre tecnologia.

Faça um comentário