• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CoffeeScript - JavaScript in a simple way
 

CoffeeScript - JavaScript in a simple way

on

  • 3,005 views

 

Statistics

Views

Total Views
3,005
Views on SlideShare
3,002
Embed Views
3

Actions

Likes
10
Downloads
84
Comments
0

1 Embed 3

http://webexpo.innit.cz 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    CoffeeScript - JavaScript in a simple way CoffeeScript - JavaScript in a simple way Presentation Transcript

    • CoffeeScriptJavaScript in a simple way Open Tech Talk – 22 Jan 2011 @HackerSpacePP @lchanmann
    • CoffeeScript● One-to-one with JavaScript● Better functional syntax● Compiles to the good parts
    • Why CoffeeScript?● Less code● Readability● Easy to understand, and maintain● But … you should know how JavaScripts concept work
    • JavaScript
    • CoffeeScript
    • JavaScript
    • Coffee
    • JavaScript
    • CoffeeScript
    • Functionssquare = (x) -> x * xarea = (x, y) -> x * ycube = (x) -> x * square x
    • Objects kids = { brother: {kids = name: "Max", brother: >> age: 11 name: "Max" }, age: 11 sister: { sister: name: "Ida", name: "Ida" age: 9 age: 9 } };
    • Lexical Scoping / Variable Safety (function() { var change, inner, outer; outer = 1;outer = 1 >> change = function() {change = -> var inner; inner = -1 inner = -1; outer = 10 return (outer = 10);inner = change() }; inner = change(); }).call(this);
    • Splats...gold = silver = rest = "unknown"awardMedals = (first, second, others...) -> gold = first silver = second rest = others
    • OOPclass Animal constructor: (@name) -> move: (meters) -> alert @name + " moved " + meters + "m."class Snake extends Animal move: -> alert "Slithering..." super 5sam = new Snake "Sammy the Python"sam.move()
    • The Rest...✔ Existential operator✔ Pattern matching with object literals✔ Switch/When/Else✔ Chained comparison✔ Array comprehension✔ Array slicing and splicing with ranges✔ Everything is an expression; always a return value✔ Function binding syntactical sugar✔ String and RegExp Interpolation✔ Multiline Strings, Heredocs, and Block Comments✔ "text/coffeescript" script tags with extras/coffee-script.js✔ Its just JavaScript
    • Last but not lease● http://ryan.mcgeary.org/talks/2010/10/21/coffeescript-novarug/● http://www.slideshare.net/mtaberski/coffee-script-6089214● http://jashkenas.github.com/coffee-script/
    • Lim Chanmannhttp://chanmannlim.wordpress.com/ @lchanmann chanmannlim@gmail.com InSTEDD