+ All Categories
Home > Documents > 10 reasons to love CoffeeScript

10 reasons to love CoffeeScript

Date post: 21-Jun-2015
Category:
Upload: lukas-alexandre
View: 701 times
Download: 2 times
Share this document with a friend
Popular Tags:
14
10 razões para você usar CoffeeScript e se apaixonar... Lukas Alexandre Saturday, January 19, 13
Transcript
Page 1: 10 reasons to love CoffeeScript

10 razões para você usar CoffeeScript

e se apaixonar...

Lukas AlexandreSaturday, January 19, 13

Page 2: 10 reasons to love CoffeeScript

1-Sintaxe limpa• Inspirada em Ruby e Python;

• Parênteses opcionais;

message = 'Hello World'sayHello message

Saturday, January 19, 13

Page 3: 10 reasons to love CoffeeScript

2-Impõe boas práticas de JS• Escopos fechados;

• Previne “global namespace flooding”;

(function() { var sayHello; sayHello = function(message) { return console.log(message); }; sayHello('Hello World'); }).call(this);

sayHello = (message) -> console.log message sayHello 'Hello World'

Saturday, January 19, 13

Page 4: 10 reasons to love CoffeeScript

3-Fat Arrow• Workarounds imbutidos;

var coffee = { isFull: true, watchDrink: function(){ var that = this; $('.drink a').on('click', function(){ that.isFull = false; }); }}

coffee = isFull: true watchDrink: -> $('.drink a').on 'click', => @isFull = false

Saturday, January 19, 13

Page 5: 10 reasons to love CoffeeScript

4-Interpolação de strings• Chega de + + + +

name = 'John Doe'console.log "Hi, my name is #{name}"

var name = 'John Doe';console.log("Hi, my name is " + "name")

Saturday, January 19, 13

Page 6: 10 reasons to love CoffeeScript

5-List Comprehensions

var names = ['Foo', 'Bar', 'Baz']; for(var i=0; i < names.length; i++){ console.log(names[i]);}

names = ['Foo', 'Bar', 'Baz']console.log(name) for name in names

Saturday, January 19, 13

Page 7: 10 reasons to love CoffeeScript

6-Modificadores Condicionais

allowEntrance() unless age < 21allowEntrance() if age >= 21

if(age > 21) { allowEntrance()}if(age >= 21) { allowEntrance()}

Saturday, January 19, 13

Page 8: 10 reasons to love CoffeeScript

7-Classes

class Coffee constructor: (@name) -> brew: -> console.log 'Brewing' description: -> console.log "Coffee is #{@name}"

frenchCoffee = new Coffee('French')frenchCoffee.description # Coffee is French

Saturday, January 19, 13

Page 9: 10 reasons to love CoffeeScript

8-Uma visão do futuro

• Suporte de Brendan Eich;

• @ e => no JS;

Saturday, January 19, 13

Page 10: 10 reasons to love CoffeeScript

9-Aceitação da comunidade

• Rails >= 3.1;

• Python & PHP;

• Unit Testing frameworks;

Saturday, January 19, 13

Page 13: 10 reasons to love CoffeeScript

Perguntas?

Saturday, January 19, 13


Recommended