JavaScript é uma linguagem multi-paradigma, que possui suporte à programação funcional, nesta talk será abordado e explicado as características do paradigma funcional no JavaScript.
podendo ser passadas como parâmetro para outras funções, ser retornada como valor, ser atribuida a variáveis ou ser armazenadas em estruturas de dados.
que receberia mais de um parâmetro em uma série de chamadas de funções com apenas um parâmetro cada. Um dos usos dessa técnica é evitar, de forma elegante, que o mesmo parâmetro seja passado para a mesma função.
this não pode ser modificado. - Não pode ser usadas utilizando o construtor (new). - this léxico, o valor this da função será sempre o valor de onde a arrow function foi definida, e não de onde ela foi executada.
sempre será processada por completa e retornará o valor final. Lazy evaluation A função só será processada até onde for necessário, isso pode ser útil em várias situações, já que permite, por exemplo, criar uma lista de números infinitos sem a necessidade de “processar todos os números infinitos”
de processamento”, mas é possivel ter as vantagens do Lazy evaluation utilizando bibliotecas como: - Lazy.js (github.com/dtao/lazy.js) - Stream.js (streamjs.org)