How to : CoffeeScript

By

It's just JavaScript

Introduction

Le CoffeeScript est un language qui compile en Javascript. Largement inspiré de la syntaxe Ruby, cet outil vous permet de développer du JavaScript de façon simple et rapide en utilisant la grande abstraction qu'offre Coffee.

Rien de tel que la pratique pour comprendre comment cette petite merveille fonctionne.

Les variables

En CoffeeScript, inutile de déclarer vos variables, cette déclaration se fait d'elle même lors de la compilation (Ruby style), par exemple :

  • CoffeeScript
number   = 42
opposite = true
  • JavaScript
var number, opposite;

number = 42;

opposite = true;

Les tests si / sinon

L'écriture de vos tests est aussi beaucoup plus simple quand on utilisent le Coffee. Il nous permet par exemple de placer nos tests en fin de ligne (Ruby style again)

  • CoffeeScript
number = -42 if opposite
  • JavaScript
if (opposite) {
  number = -42;
}
  • CoffeeScript
number = -42 if not opposite
  • JavaScript
if (!opposite) {
  number = -42;
}
  • CoffeeScript
if opposite
  number = -42
else
  if number is 42
    number = 42
  • JavaScript
if (opposite) {
  number = 42;
} else {
  if (number === 42) {
    number = 42;
  }
}

Un isset (PHP) en JavaScript ?!

  • CoffeeScript
alert 'foo' if bar?
  • JavaScript
if (typeof bar !== "undefined" && bar !== null) {
  alert('foo');
}

Fonctions

Vous en avez marre de passer des heures à écrire vos fonctions ? Vous voulez pouvoir modifier un paramètre sans passer 10 secondes à chercher ou le mettre ? Jettez un oeil à ce qui suit :

  • CoffeeScript
square = (x) -> x * x
  • JavaScript
square = function(x) {
  return x * x;
};

Objets

Rien de plus simple en CoffeeScript ! Fini de vous perdre dans vos accolades !

  • CoffeeScript
math =
  root:   Math.sqrt
  square: square
  cube:   (x) -> x * square x
  • JavaScript
math = {
  root: Math.sqrt,
  square: square,
  cube: function(x) {
    return x * square(x);
  }
};

Jouer un peu avec les tableaux

C'est là que l'on commence à s'ammuser !

  • CoffeeScript
cubes = (math.cube num for num in list)
  • JavaScript
cubes = (function() {
  var _i, _len, _results;
  _results = [];
  for (_i = 0, _len = list.length; _i < _len; _i++) {
    num = list[_i];
    _results.push(math.cube(num));
  }
  return _results;
})();

Et comment je peux utiliser le CoffeeScript ?

D'après moi, utiliser NodeJS et npm est la solution la plus simple. Lancez un petit npm install -g coffee-script (-g signifie que vous l'instlallez dans le node_modules général de votre ordinateur, retirez-le si vous voulez l'installer uniquement dans le dossier courant). La documentation est disponible ici !

Les solutions suivantes sont aussi possibles :