CoffeeScript, JavaScript-ում տրանսյացվող ծրագրավորման լեզու։ CoffeeScript-ը ավելացնում է «սինտաքսային շաքար» կոդում Ruby, Python, Haskell և Erlang ծրագրավորման լեզուների նման, դրանով իսկ դարձնելով կոդը ավելի ընթեռնելի և քչացնում է կոդի ծավալաը։ CoffeeScript-ը թույլ է տալիս գրել ավելի կարճ կոդ համեմատած JavaScript-ի հետ[5]։ CoffeeScript-ով գրված կոդը ամբողջությամբ անցնում է JavaScript Lint ստուգում։

Изображение логотипа
Տեսակծրագրավորման լեզու, off-side rule language?, ֆայլի ֆորմատ և source-to-source compiler?
Առաջացել էդեկտեմբերի 13, 2009
ՍտեղծողՋերեմի Աշկենաս
ՆախագծողՋերեմի Աշկենաս
Ընդլայնումներ.coffee
ՕՀբազմապլատֆորմ
Համացանցի տվյալների տեսակtext/coffeescript[1] և application/vnd.coffeescript[2]
Ընթացիկ տարբերակ2.7.0 (ապրիլի 24, 2022)[3]
Ներշնչվել էՋավաՍկրիպտ և Ruby
ԱրտոնագիրMIT արտոնագիր[4]
Կայքcoffeescript.org
Աղբյուր կոդgithub.com/jashkenas/coffeescript

ՊատմությունԽմբագրել

Ծրագրավորման լեզվի հիմնադիրը համարվում է Ջերեմի Աշկենասը։

Սկզբնական տարբերակում կոմպիլյատոր գրված էր Ruby-ով, սակայն նոր 0,5 տարբերակում, որը թողարկվել է 2010 թվականի փետրվարի 21-ին, կոմպիլյատորը գրվել է հենց CoffeeScript-ի հիման վրա։

CoffeeScript-ը շատ լավ ընդունվեց Ruby-հասարակության կողից։ CoffeeScript-ի 3․1 տարբերակում ավելացավ Ruby on Rails վեբ-ֆրեյմորքը։

ԻրականացումԽմբագրել

Պաշտոնական կայքում կա «try coffeescript» բաժինը, որը թույկ է տալիս գրել ծրագրեր և գործարկել online[6]։

ՕրինակներԽմբագրել

ՓոփոխականներԽմբագրել

CoffeeScript:

age  = 2
male = true
name = "Матвей"

JavaScript:

var age = 2,
    male = true,
    name = "Матвей";

ՖունկիաներԽմբագրել

CoffeeScript:

say = (speech) ->
  alert speech

say "Hello World!"

JavaScript ECMAScript 2015:

const say = speech => alert(speech);
say('Hello World!');

JavaScript:

var say = function(speech) {
  alert(speech);
};
say("Hello World!");

ՕբյեկտներԽմբագրել

CoffeeScript:

class Human
  constructor : (@name) ->

class Baby extends Human
  say   : (msg) -> alert "#{@name} speak '#{msg}'"
  sayHi : -> @say('Hello!')

matt = new Baby("baby")
matt.sayHi()

JavaScript ECMAScript 2015:

class Human {
	constructor(name) {
		this.name = name;
	}
}

class Baby extends Human {
	say(msg) {
		alert(`${this.name} speak '${msg}'`);
	}
	sayHi()	{
		this.say('Hello!');
	}
}

const matt = new Baby('Baby');
matt.sayHi();

Տես նաևԽմբագրել

ԾանոթագրություններԽմբագրել

ԳրականությունԽմբագրել

Արտաքին հղումներԽմբագրել