Personalmente creo que javascript no es muy natural pero es un gran lenguaje. El principal problema al escribir código es nuestro desconocimiento sobre el lenguaje, nadie estudia a fondo como funciona javascript.Después de la reflexión dominical veamos unos ejemplos como nos puede ayudar coffeeScript a escribir código:
En javascript es así
var cube, square;
square = function(x) {
return x * x;
};
cube = function(x) {
return square(x) * x;
};
En coffeescript así:
square = (x) -> x * x cube = (x) -> square(x) * xEn javascript es así
var fill;
fill = function(container, liquid) {
if (liquid == null) liquid = "coffee";
return "Filling the " + container + " with " + liquid + "...";
};
En coffeescript así:
fill = (container, liquid = "coffee") ->
"Filling the #{container} with #{liquid}..."
Además de todas estas ventajas permite escribir clases:
class Animal
constructor: (@name) ->
move: (meters) ->
alert @name + " moved #{meters}m."
class Snake extends Animal
move: ->
alert "Slithering..."
super 5
class Horse extends Animal
move: ->
alert "Galloping..."
super 45
sam = new Snake "Sammy the Python"
tom = new Horse "Tommy the Palomino"
sam.move()
tom.move()