Изучаване на CoffeeScript

Здравейте! В тази статия ще говорим за, как да създавам и използвам функции в програмен език coffeescript.
Така че нека първо напишем функцията за добре дошли javascript, и след това coffeescript, за да можете да видите разликата веднага.
var поздрав;
greet = function (name) return 'Hello,' + name + '!';
>;
Същата функция в coffeescript ще изглежда така:
Както можете да видите, всичко е много по-просто. Аргументите са първо в скоби, след това стрелката, след това тялото на функцията. Ако не се нуждаете от аргументи, изобщо не е нужно да ги пишете и тогава функцията ще изглежда така:
greet = -> 'Здравей, Сергей!'
В компилираното javascript можете да видите, че функцията винаги връща стойността на последния израз. Тези. в нашия случай с поздрав ще изглежда така:
var поздрав;
greet = function (name) return 'Hello,' + name + '!';
>;
Въпреки че никъде не сме написали ключовата дума return coffeescript! Нека сега променим функцията на coffeescript и вижте какво се случва в компилираното javascript, за да стане всичко по-ясно
поздрави = (име) ->
направи updateSomething
направи промянаНещо
'Здравейте, #!'
направи процес нещо
В резултат на това получаваме следното:
var поздрав;
greet = function (name) do updateSomething ();
do changeSomething ();
'Здравейте,' + име + '!';
върнете процесSomething ();
>;
Това всъщност не засяга нищо, можете просто да игнорирате това възстановяване, ако не се нуждаете от него. Ако обаче наистина трябва да го премахнете от компилирания код, просто добавете празно връщане накрая.
Естествено, можете да пишете стандартни стойности за аргументи по същия начин, както в javascript
greet = (name = 'Sergey') -> 'Здравей, #!'
Сега нека поговорим за това какво да направим, ако нашата функция трябва да вземе неопределен брой аргументи. IN javascript обектът се използва за това аргументи, в coffeescript всичко е много по-просто.
нормализиране = (дължина, вектори.) -> 'нещо тук. '
Както можете да видите, всичко, което трябва да направим, е просто да добавим три точки, което означава, че всички следващи аргументи след втората ще бъдат записани в масива. вектори.
Сега за обхвата: не е нужно да пишете var, във функцията всяка променлива се счита за локална, ако променлива с това име не е декларирана по-рано.
външен = 10
func = ->
външен = 10
вътрешен = 10
връщане
В резултат на това получаваме следното:
var func, външен;
външен = 10;
func = function () var вътрешен;
външен = 10;
вътрешен = 10;
>;
Можете да извиквате функции без скоби. За вложени повиквания параметрите ще се увиват отдясно наляво.
show () // show ()
покажи // покажи ()
показване на обект за актуализация // показване (актуализация (обект))
Сега нека разгледаме анонимните функции за самоповикване. Както вече знаете, всички функции в coffeescript анонимен и каквото трябва да направите, за да получите анонимна функция за самоповикване като на език javascript, това е да се напише пред ключовата дума направете
направи -> направи нещо
В резултат на това получаваме следното:
Значи това е! Благодаря ви за вниманието!
Добави към моите приятели Във връзка с: http://vk.com/myrusakov.
Ако искате да оцените мен и работата ми, напишете го в моята група: http://vk.com/rusakovmy.
Препоръчайте тази статия на приятелите си:
Ако сайтът ви е харесал, публикувайте връзка към него (на вашия сайт, във форума, в контакт):
Изглежда така: