Plinio Balduino: JavaScript Funcional

1,193 views

Published on

7Masters JavaScript | Plínio Balduino

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,193
On SlideShare
0
From Embeds
0
Number of Embeds
425
Actions
Shares
0
Downloads
4
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Plinio Balduino: JavaScript Funcional

  1. 1. JavaScript Funcional Em sete minutos 7 masters ‑ 25/09/2013 Plínio Balduino / @p_balduino
  2. 2. Programação Funcional JavaScript é funcional Ok, quase
  3. 3. High Order Function Funções como ʺcidadão de primeira classeʺ Função é um valor
  4. 4. High Order Function Funções como ʺcidadão de primeira classeʺ function g() { } var f = function() { }
  5. 5. High Order Function Uma função recebe outra função como parâmetro function soma(x, y) { return x + y; } function multiplicacao(x, y) { return x + y; } function calcula(op, x, y) { return op(x, y); } calcula(soma, 2, 3); // 5 calcula(multiplicacao, 2, 3); // 6
  6. 6. High Order Function Uma função devolve outra função como resultado function adder(x) { return function(y) { return x + y; } } var add5 = adder(5); add5(10); // 15
  7. 7. Closure Escopo e contexto function saudacao(mensagem) { return function(nome) { alert(mensagem + ", " + nome); } } var bomDia = saudacao("Bom dia"); bomDia("iMasters"); bomDia("Biu Goiaba");
  8. 8. Partial Função que não roda sozinha function saudacao(mensagem) { return function(nome) { alert(mensagem + ", " + nome); } } var bomDia = saudacao("Bom dia"); bomDia("iMasters"); bomDia("Biu Goiaba");
  9. 9. Mais recursos Usando underscore.js _.map([1, 2, 3], add5); // [6, 7, 8] _.reduce([1, 2, 3, 4], soma); // 10 function par(x) {return x % 2 == 0}; _.filter([1, 2, 3, 4, 5], par); // [2, 4]
  10. 10. Obrigado

×