CoffeeScript - An Introduction
Upcoming SlideShare
Loading in...5
×
 

CoffeeScript - An Introduction

on

  • 371 views

An interesting presentation for learning the language from very basic. It provides very good insight to the language. JavaScript is the only prerequisite. It comes with a lot of examples that helps to ...

An interesting presentation for learning the language from very basic. It provides very good insight to the language. JavaScript is the only prerequisite. It comes with a lot of examples that helps to learn the basics very quickly. Here is the SkyDrive download link http://sdrv.ms/16T7whf

Statistics

Views

Total Views
371
Views on SlideShare
371
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

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
  • name = “MSK”console.log name isnt “RK”console.log name is not “RK”

CoffeeScript - An Introduction CoffeeScript - An Introduction Presentation Transcript

  • * SK Manvendra
  • * Getting and running it * Variables * “Interpolation” and “““Heredocs””” * Statements * Functions and Splats… * Collections, Iterations and Comprehensions * Classes * Example app *
  • * CoffeeScript is just compiled down JavaScript. * We can write JS the way it should be… * CS is just Syntactical Sugar for JS. JS = -> JavaScript CS = -> CoffeeScript However, CS is more than Syntactical Sugar * If you love JS, you’ll love CS… * Let’s get to know this… * This is becoming BUZZ WORD these days…
  • * CS depends on Node.js environment to get installed. However CS doesn’t need Node.js to run on the machine. * How can I install the Node.js? * After node is installed, use NPM Perhaps, SUROOR’s blog may rescue you here… to install the CS. * npm install –g coffee-script Pay attention to “-g” * Node Package Manager
  • * On command prompt type coffee. It will drop you in REPL mode. * Compile a file. * Compile a folder. * Putting output in Read Eval Print Loop coffee –c file.coffee different folder. coffee –c src/ coffee –c src/ -o lib/ *
  • * You can get compile your Coffee files to JavaScript whenever you change them, automatically! coffee –cw src/ -o lib/ * The –w switch makes it happen. -w switch also watches for subdirectories *
  • * White space considerations. * Indent your code properly. * No need to use special cartoon like characters in the code. * Freedom from that semicolon. You’ll need me when writing multiple lines of code in a single shot * CS is very sensitive towards it Why would I need to do so? Those are really obstructive Though I’m optional in JS
  • * Use of the var keyword is strictly prohibited. * CoffeeScript saves us from creating global variables. * What if I need to create one/more? Then how would I create one? We can attach them to the global window object. But be cautious!!!
  • * “Hope if it prints the value of #{interest}.” * A multiline string which may have #{} can contain any interpolation inside it. * var regEx = /d{3}-d{8}/ This RegEx could be worse. * valid CoffeeScript inside the string Use ””” quotes that’ll even preserve the space regEx = /// d{3}d{8} ///
  • * # I’ll not be visible in compiled JavaScript. * ### I think I may put the license and the information here, and it’ll be visible in the compiled JavaScript. ### *
  • Equal or Identical (equal and of the same type)? * == or === * != or !== *? Not equal or Not identical? Existential operator 3 Usage • Variable declarations check • Object existence • Is member a method ? ?. ?() *
  • CoffeeScript * is * isnt * not * and * or * true, yes, no * false, no, off * @, this * :: * of * in JavaScript === !== ! && || true false this prototype in N/A Word of caution!!! isnt and is not are not same *
  • alert “true” if var * if var then alert “true” * if var then alert “true” else alert “false” That’s ternary ?: * unless var then alert “false” else alert “true” If the condition is false *
  • * switch var when “val1”, “val2” We don’t need the break keyword anymore when “val3” else *
  • I’ll be parsed to (function() {}); * -> Instant function Though I’m Anonymous * do -> calling * funcName = (param1, param2) -> alert “Hi” Functions can take default * someFunc = (param = val) -> arguments However if you need, you can return explicitly always If you really don’t want to return anything at the end of ->, use return null or return undefined * I’ll always return the last statement. * Hope if I could call the -> without params
  • * Variable number of arguments to the function. * someFunc = (etc…) -> Believe me it’s one of the best aroma of CoffeeScript *
  • * Arrays in CoffeeScript are no different than in JavaScript. * Searching. * Swapping. [x, y] = [y, x] * Ranges. * Slicing arrays. * Splicing/Replacing array values. Maximum size is 21 *
  • * Creating objects with literal syntax. * Creating objects from variables. * Getting and setting attributes. * JSON is breeze here
  • * for val in array * for key, val of object own may come here Remember the hasOwnProperty method? * while condition It’s our old and only friend here * You may append by and when You may append when until is not bad option either.
  • * What these are? Comprehensions are, essentially, loops and their code blocks on the same line. *
  • You’ll start to love CoffeeScript * class Employee * The constructor function * Inheritance You know how the constructor works Mmm… not exactly But it’s But there’s some hack here * Class level functions * Prototype Don’t dare to forget me Also known as noninstance functions *
  • * <script type=“text/coffeescript”> // Some CoffeeScript here </script> Before it include a reference to the url http://jashkenas.github.com/coffeescript/extras/coffee-script.js *
  • * How can I write jQuery using CoffeeScript? Please see the example app *
  • * As a JavaScript replacement. * Writing jQuery in your projects. * Writing of JavaScript library easily. * Writing of jQuery plugins easily too. * At last: The things you expect from JavaScript you can do in CoffeeScript very easily. *
  • *
  • * Now it’s your turn to make some for yourself. *
  • * O’Reilly The Little Book on CoffeeScript By Alex MacCaw * PacktPub CoffeeScript Programming with jQuery, Rails and Node.js By Michael Erasmus * The Pragmatic Programmers CoffeeScript Accelerated JavaScript Development By Trevor Burnham * O’Reilly Programming in CoffeeScript By Mark Bates *