factograf
TR
Sign in

CoffeeScript

Key facts

ortaya çıkışı13 Aralık 2009
yayın tarihi2009
nedirprogramlama dili, dosya formatı
All data from the card 12
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

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.

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ği

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);

Read next

In 25 languages

Text from Wikipedia, CC BY-SA 4.0 · Source article