CoffeeScript

CoffeeScript kaynaktan kaynağa derleme yapan ve JavaScript kodu üreten bir geliştirme aracıdır. Sözdizimi Python ve Ruby dillerine benzer, kod blokları girintiler ile ayrılır, JavaScript'in satır sonlarında noktalı virgül kullanma gibi yazım kurallarını da içermez, bu nedenle okunması kolaydır. Kullandığı bazı sözcükler ve yapılar sayesinde JavaScript ile uzun yazılabilecek ve okunaksız hale gelecek kodları neredeyse 3/1 oranında kısaltabilir ve kolay okunabilme imkânı sunar. Derleme işlemi çalışma zamanında değil geliştirme aşamasında yapıldığından tarayıcılarda performans kaybı söz konusu değildir.

CoffeeScript
CoffeeScript-logo.svg
Paradigması Betik dili
İlk çıkışı 2009
Tasarımcı Jeremy Ashkenas
Geliştirici Jeremy Ashkenas
Kararlı sürüm

1.9.3

(14 Mayıs 2015)
Etkilendikleri jQuery, MooTools, ProtoType
Etkiledikleri MoonScript
Uygulama dili JavaScript
Platformu çapraz platform
Lisans MIT Lisansı
Olağan dosya uzantıları .coffee
Web sitesi http://coffeescript.org

CoffeScript yine CoffeeScript ile yazılmış bir JavaScript derleyici sunar, bu derleyici Node.js veya başka bir JavaScript runtime ile çalıştırılabilir bir derleyicidir. Derlenmiş JavaScript dosyaları doğrudan tarayıcıda veya herhangi bir JavaScript runtime ile çalıştırılabilir.

Kod örneğiDüzenle

Aşağıdaki örnekte CoffeeScript kodu ve bunun derlenmiş halini karşılaştırabilirsiniz.

CoffeeScript
 switch day
   when "Mon" then go work
   when "Tue" then go relax
   when "Thu" then go iceFishing
   when "Fri", "Sat"
     if day is bingoDay
       go bingo
       go dancing
   when "Sun" then go church
   else go work
JavaScript
 switch (day) {
  case "Mon":
    go(work);
    break;
  case "Tue":
    go(relax);
    break;
  case "Thu":
    go(iceFishing);
    break;
  case "Fri":
  case "Sat":
    if (day === bingoDay) {
      go(bingo);
      go(dancing);
    }
    break;
  case "Sun":
    go(church);
    break;
  default:
    go(work);
 }
CoffeeScript
 # The first ten global properties.
 
 globals = (name for name of window)[0...10]
JavaScript
 var globals, name;
 
 globals = ((function() {
  var _results;
  _results = [];
  for (name in window) {
    _results.push(name);
  }
  return _results;
 })()).slice(0, 10);

Dış bağlantılarDüzenle