More Related Content More from Ivan Nemytchenko More from Ivan Nemytchenko (15) Coffescript - счастье для javascript-разработчика1. COFFEESCRIPT
счастье для javascript разработчика
Иван Немытченко Омск, 26 июня 2010
5. '' == '0' // false
0 == '' // true
0 == '0' // true
6. '' == '0' // false
0 == '' // true
0 == '0' // true
false == 'false' // false
false == '0' // true
7. '' == '0' // false
0 == '' // true
0 == '0' // true
false == 'false' // false
false == '0' // true
false == undefined // false
false == null // false
null == undefined // true
8. '' == '0' // false
0 == '' // true
0 == '0' // true
false == 'false' // false
false == '0' // true
false == undefined // false
false == null // false
null == undefined // true
' trn ' == 0 // true
NaN === NaN // false
9. typeof(1) // "number"
typeof('a') // "string"
typeof({a:1}) // "object"
10. typeof(1) // "number"
typeof('a') // "string"
typeof({a:1}) // "object"
typeof([1,2]) // "object"
typeof(null) // "object"
11. typeof(1) // "number"
typeof('a') // "string"
typeof({a:1}) // "object"
typeof([1,2]) // "object"
typeof(null) // "object"
typeof(false) // "boolean"
typeof(new Boolean(false)) // "object"
14. if(a == b)
c = 3;
doSomething();
if(a == b){
c = 3;
doSomething();
}
15. if(a == b)
c = 3;
doSomething();
if(a == b){
c = 3;
}
doSomething();
21. JAVASCRIPT
var _a, _b, age, ages, child;
var __hasProp = Object.prototype.hasOwnProperty;
ages = (function() {
_a = []; _b = years_old;
for (child in _b) { if (__hasProp.call(_b, child)) {
age = _b[child];
_a.push(child + " is " + age);
}}
return _a;
})();
32. Интервалы (ranges)
numbers: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
three_to_six: numbers[3..6]
numbers_copy: numbers[0...numbers.length]
numbers[3..6]: [-3, -4, -5, -6]
33. Проход по массиву (итерации)
cubed_list: math.cube num for num in list
countdown: num for num in [10..1]
34. Проход по хэшу (свойствам объекта)
years_old: {max: 10, ida: 9, tim: 11}
ages: for child, age of years_old
child + " is " + age
36. Строки
moby_dick: "Lorem ipsum dolor var moby_dick;
sit amet, consectetur moby_dick = "Lorem ipsum dolor
adipiscing elit." sit amet, consectetur
adipiscing elit.";
html: ''' var html;
<strong> html = '<strong>n cup of
cup of coffeescript coffeescriptn</strong>';
</strong>
'''
author: "Wittgenstein"
quote: "A picture is a fact. -- $author"
sentence: "${ 22 / 7 } is a decent approximation of π"
39. brain-safe way
Наследование
class Animal
move: (meters) ->
alert @name + " moved " + meters + "m."
class Snake extends Animal
constructor: (name) ->
@name: name
move: ->
alert "Slithering..."
super 5
41. HTML
<article id='id1'>
<section class='a1'>
Lorem ipsum
</section>
<section class='a2'>
Sit dolor
</section>
</article>
42. HTML → HAML
%article#id1
%section.a1
Lorem ipsum
%section.a2
Sit dolor
43. CSS
article {
margin: 2em 0;
}
article section {
text-align: right;
}
48. HTML → HAML
CSS → SASS
JAVASCRIPT → COFFEESCRIPT
JSON → TEQUILA
52. УСТАНОВКА
Node.js
http://github.com/jashkenas/coffee-script
sudo bin/cake install
53. УСТАНОВКА
Node.js
http://github.com/jashkenas/coffee-script
sudo bin/cake install
brew install coffee-script
Editor's Notes &#x414;&#x43E;&#x431;&#x440;&#x43E;&#x435; &#x443;&#x442;&#x440;&#x43E;. &#x41C;&#x435;&#x43D;&#x44F; &#x437;&#x43E;&#x432;&#x443;&#x442; &#x418;&#x432;&#x430;&#x43D; &#x41D;&#x435;&#x43C;&#x44B;&#x442;&#x447;&#x435;&#x43D;&#x43A;&#x43E;. &#x42F; - &#x434;&#x438;&#x440;&#x435;&#x43A;&#x442;&#x43E;&#x440; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438; &#x414;&#x436;&#x430;&#x437;&#x41A;&#x43B;&#x430;&#x443;&#x434;. &#x420;&#x430;&#x434; &#x437;&#x434;&#x435;&#x441;&#x44C; &#x432;&#x441;&#x435;&#x445; &#x432;&#x430;&#x441; &#x432;&#x438;&#x434;&#x435;&#x442;&#x44C;. &#x421;&#x43F;&#x430;&#x441;&#x438;&#x431;&#x43E; &#x42E;&#x440;&#x435; &#x437;&#x430; &#x442;&#x43E; &#x447;&#x442;&#x43E; &#x440;&#x430;&#x434;&#x443;&#x435;&#x442; &#x43D;&#x430;&#x441; &#x432;&#x441;&#x435; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x44B;&#x43C;&#x438; &#x43A;&#x43E;&#x43D;&#x444;&#x435;&#x440;&#x435;&#x43D;&#x446;&#x438;&#x44F;&#x43C;&#x438;. &#x41D;&#x430;&#x448;&#x435;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438; &#x432; &#x44D;&#x442;&#x43E;&#x43C; &#x433;&#x43E;&#x434;&#x443; &#x443;&#x434;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x43F;&#x43E;&#x43C;&#x43E;&#x447;&#x44C; &#x444;&#x438;&#x43D;&#x430;&#x43D;&#x441;&#x43E;&#x432;&#x43E; &#x432; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x438;&#x438; &#x43A;&#x43E;&#x43D;&#x444;&#x435;&#x440;&#x435;&#x43D;&#x446;&#x438;&#x438;, &#x447;&#x435;&#x43C;&#x443; &#x44F; &#x442;&#x43E;&#x436;&#x435; &#x440;&#x430;&#x434;. &#x418;&#x442;&#x430;&#x43A;, &#x43F;&#x43E;&#x436;&#x430;&#x43B;&#x443;&#x439; &#x43F;&#x440;&#x438;&#x441;&#x442;&#x443;&#x43F;&#x438;&#x43C;.
&#x414;&#x43E;&#x43A;&#x43B;&#x430;&#x434; &#x43C;&#x43E;&#x439; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; CoffeeScript - &#x441;&#x447;&#x430;&#x441;&#x442;&#x44C;&#x435; &#x434;&#x43B;&#x44F; javascript &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A;&#x430;. &#x412;&#x43E;&#x442; &#x441; &#x44F;&#x432;&#x430;&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x430; &#x43C;&#x44B; &#x438; &#x43D;&#x430;&#x447;&#x43D;&#x435;&#x43C;.
&#x41F;&#x43E;&#x434;&#x43D;&#x438;&#x43C;&#x438;&#x442;&#x435; &#x43F;&#x43E;&#x436;&#x430;&#x43B;&#x443;&#x439;&#x441;&#x442;&#x430; &#x440;&#x443;&#x43A;&#x438;, &#x43A;&#x442;&#x43E; &#x438;&#x437; &#x43F;&#x440;&#x438;&#x441;&#x443;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x445; &#x437;&#x43D;&#x430;&#x43A;&#x43E;&#x43C; &#x441; &#x44F;&#x432;&#x430;&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x43E;&#x43C;.
&#x41E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x43E;. &#x410; &#x43A;&#x442;&#x43E; &#x437;&#x43D;&#x430;&#x435;&#x442; &#x447;&#x435;&#x43C;&#x443; &#x431;&#x443;&#x434;&#x435;&#x442; &#x440;&#x430;&#x432;&#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x432;&#x44B;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435;?
&#x41D;&#x43E;&#x43B;&#x44C;?
&#x41D;&#x43E;&#x43B;&#x44C;? &#x423;&#x432;&#x44B;, &#x43D;&#x435;&#x442;! 18. &#x41F;&#x43E;&#x447;&#x435;&#x43C;&#x443; &#x442;&#x430;&#x43A;? 1 - &#x412; &#x44F;&#x432;&#x430;&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x435; &#x434;&#x43B;&#x44F; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x446;&#x438;&#x439; &#x43A;&#x43E;&#x43D;&#x43A;&#x430;&#x442;&#x435;&#x43D;&#x430;&#x446;&#x438;&#x438; &#x438; &#x441;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x441;&#x438;&#x43C;&#x432;&#x43E;&#x43B; &#x201C;+&#x201D;. 2 - &#x44F;&#x432;&#x430;&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442; - &#x44F;&#x437;&#x44B;&#x43A; &#x441;&#x43B;&#x430;&#x431;&#x43E; &#x442;&#x438;&#x43F;&#x438;&#x437;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x439;. &#x417;&#x430; &#x441;&#x447;&#x435;&#x442; &#x44D;&#x442;&#x438;&#x445; &#x434;&#x432;&#x443;&#x445; &#x444;&#x430;&#x43A;&#x442;&#x43E;&#x440;&#x43E;&#x432; &#x43C;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x43C; &#x442;&#x430;&#x43A;&#x438;&#x435; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x44B;&#x435; &#x44D;&#x444;&#x444;&#x435;&#x43A;&#x442;&#x44B;
&#x41A;&#x442;&#x43E; &#x43D;&#x438;&#x431;&#x443;&#x434;&#x44C; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442;, &#x43F;&#x43E;&#x447;&#x435;&#x43C;&#x443; &#x44D;&#x442;&#x43E; &#x442;&#x430;&#x43A;?
&#x41E;&#x43A;. &#x410; &#x44D;&#x442;&#x43E;?
&#x41D;&#x443; &#x430; &#x44D;&#x442;&#x43E;? &#x41D;&#x435; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x43E;&#x447;&#x435;&#x432;&#x438;&#x434;&#x43D;&#x43E;, &#x434;&#x430;?
&#x418; &#x432;&#x43E;&#x442; &#x435;&#x449;&#x435;. &#x412;&#x44B; &#x43D;&#x435; &#x434;&#x443;&#x43C;&#x430;&#x439;&#x442;&#x435;, &#x44D;&#x442;&#x43E; &#x43D;&#x435; random-&#x43D;&#x43E;&#x435; &#x43F;&#x43E;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x438;&#x435;. &#x415;&#x441;&#x442;&#x44C; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x430;, &#x43F;&#x43E; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x43C; &#x44D;&#x442;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442;. &#x41F;&#x440;&#x430;&#x432;&#x434;&#x430; &#x438;&#x445; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x43E; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x43E; &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x438;&#x442;&#x44C; &#x43B;&#x43E;&#x433;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; &#x438; &#x43F;&#x440;&#x44F;&#x43C;&#x43E; &#x441;&#x43A;&#x430;&#x436;&#x435;&#x43C; &#x43D;&#x435; &#x43B;&#x435;&#x433;&#x43A;&#x43E; &#x437;&#x430;&#x43F;&#x43E;&#x43C;&#x43D;&#x438;&#x442;&#x44C;.
&#x415;&#x449;&#x435; &#x43D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x435;&#x439;, &#x441; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x43C;&#x438; &#x44F;&#x432;&#x430;&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;-&#x43F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C;&#x43C;&#x438;&#x441;&#x442; &#x441;&#x442;&#x430;&#x43B;&#x43A;&#x438;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x435;&#x436;&#x435;&#x434;&#x43D;&#x435;&#x432;&#x43D;&#x43E;. Typeof. &#x41F;&#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x442;&#x43E; &#x447;&#x442;&#x43E; &#x43D;&#x430;&#x434;&#x43E; &#x434;&#x43B;&#x44F; &#x447;&#x438;&#x441;&#x435;&#x43B;, &#x441;&#x442;&#x440;&#x43E;&#x43A;, &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x43E;&#x432;
&#x410; &#x441; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x430;&#x43C;&#x438; &#x43D;&#x430;&#x43A;&#x43B;&#x430;&#x434;&#x43E;&#x447;&#x43A;&#x430;. &#x418; null, &#x43F;&#x440;&#x44F;&#x43C;&#x43E; &#x441;&#x43A;&#x430;&#x436;&#x435;&#x43C;, &#x441;&#x43E;&#x432;&#x441;&#x435;&#x43C; &#x43D;&#x435; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;.
&#x421; &#x431;&#x443;&#x43B;&#x435;&#x432;&#x441;&#x43A;&#x438;&#x43C;&#x438; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x44B;&#x43C;&#x438; &#x44D;&#x442;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442;. &#x41F;&#x440;&#x430;&#x432;&#x434;&#x430; &#x43D;&#x435; &#x441;&#x43E; &#x432;&#x441;&#x435;&#x43C;&#x438;. &#x417;&#x430; &#x447;&#x435;&#x43C; &#x432;&#x43E;&#x43E;&#x431;&#x449;&#x435; &#x432; &#x44F;&#x437;&#x44B;&#x43A;&#x435; &#x442;&#x430;&#x43A;&#x430;&#x44F; &#x43A;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43A;&#x446;&#x438;&#x44F;, &#x43D;&#x435; &#x441;&#x43E;&#x432;&#x441;&#x435;&#x43C; &#x43F;&#x43E;&#x43D;&#x44F;&#x442;&#x43D;&#x43E;.
&#x41A;&#x43B;&#x430;&#x441;&#x441;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43F;&#x440;&#x438;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x43C;&#x43E;&#x43B;&#x43E;&#x434;&#x43E;&#x439; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A;, &#x438; &#x432;&#x438;&#x434;&#x44F; &#x442;&#x430;&#x43A;&#x43E;&#x439; &#x43A;&#x43E;&#x434;,
, &#x434;&#x43E;&#x43F;&#x438;&#x441;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x435;&#x433;&#x43E; &#x434;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x433;&#x43E;
&#x41F;&#x43E;&#x434;&#x440;&#x430;&#x437;&#x443;&#x43C;&#x435;&#x432;&#x430;&#x44F; &#x44D;&#x442;&#x43E;
&#x41D;&#x43E; &#x43C;&#x44B; &#x442;&#x43E; &#x437;&#x43D;&#x430;&#x435;&#x43C; &#x447;&#x442;&#x43E; &#x44D;&#x442;&#x43E; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x43E;&#x442; &#x442;&#x430;&#x43A; &#x43D;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x43C; &#x434;&#x435;&#x43B;&#x435;.
&#x41D;&#x430;&#x441;&#x43B;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;. &#x41B;&#x44E;&#x431;&#x438;&#x43C;&#x430;&#x44F; &#x442;&#x435;&#x43C;&#x430; &#x44F;&#x432;&#x430;&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;-&#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A;&#x43E;&#x432;. &#x41F;&#x43E;&#x434;&#x43D;&#x438;&#x43C;&#x438;&#x442;&#x435; &#x440;&#x443;&#x43A;&#x438;, &#x43A;&#x442;&#x43E; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x43D;&#x430;&#x441;&#x43B;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x432; &#x44F;&#x432;&#x430;&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x435;? &#x41F;&#x43E;&#x434;&#x43D;&#x438;&#x43C;&#x438;&#x442;&#x435; &#x440;&#x443;&#x43A;&#x438;, &#x43A;&#x442;&#x43E; &#x441;&#x447;&#x438;&#x442;&#x430;&#x435;&#x442; &#x435;&#x433;&#x43E; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x43D;&#x44B;&#x43C;?
&#x41D;&#x443; &#x43A;&#x430;&#x43A; &#x431;&#x44B; &#x434;&#x430;.
&#x412;&#x43E;&#x442; &#x435;&#x449;&#x435; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x435;&#x439; &#x44F;&#x437;&#x44B;&#x43A;&#x430; &#x440;&#x430;&#x437;&#x43D;&#x43E;&#x439; &#x441;&#x442;&#x435;&#x43F;&#x435;&#x43D;&#x438; &#x43E;&#x43F;&#x430;&#x441;&#x43D;&#x43E;&#x441;&#x442;&#x438;, &#x43D;&#x430; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x447;&#x442;&#x43E; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F;, &#x43F;&#x43E;&#x43F;&#x430;&#x441;&#x442;&#x44C;&#x441;&#x44F;.
&#x422;.&#x435;. &#x441;&#x430;&#x43C;&#x438; &#x43F;&#x43E; &#x441;&#x435;&#x431;&#x435; &#x43E;&#x43D;&#x438; - &#x43D;&#x435; &#x437;&#x43B;&#x43E;, &#x43D;&#x43E; &#x438;&#x445; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x43B;&#x435;&#x433;&#x43A;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43D;&#x435;&#x432;&#x435;&#x440;&#x43D;&#x44B;&#x43C; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x43E;&#x43C;, &#x43B;&#x438;&#x431;&#x43E; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x432;&#x435;&#x440;&#x43D;&#x44B;&#x43C;.
&#x421;&#x430;&#x43C;&#x43E;&#x435; &#x43F;&#x43B;&#x43E;&#x445;&#x43E;&#x435; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x438;&#x442;&#x443;&#x430;&#x446;&#x438;&#x438;, &#x447;&#x442;&#x43E; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x438;&#x439; &#x43A;&#x43E;&#x434; &#x441; &#x442;&#x43E;&#x447;&#x43A;&#x438; &#x437;&#x440;&#x435;&#x43D;&#x438;&#x44F; &#x44F;&#x437;&#x44B;&#x43A;&#x430; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x43E; &#x447;&#x438;&#x442;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x436;&#x438;&#x432;&#x44B;&#x43C; &#x447;&#x435;&#x43B;&#x43E;&#x432;&#x435;&#x43A;&#x43E;&#x43C;.
&#x412;&#x43E;&#x442; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x435;&#x433;&#x43E; &#x43A;&#x43E;&#x434;&#x430;.
&#x418;&#x442;&#x430;&#x43A;, CoffeeScript
&#x412;&#x430;&#x43C; &#x43D;&#x435; &#x43F;&#x440;&#x438;&#x434;&#x435;&#x442;&#x441;&#x44F; &#x441;&#x430;&#x43C;&#x438;&#x43C; &#x43E;&#x431;&#x44A;&#x44F;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x44B;&#x435;.
&#x423;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F;
&#x41C;&#x43E;&#x436;&#x43D;&#x43E; &#x432;&#x44B;&#x442;&#x432;&#x43E;&#x440;&#x44F;&#x442;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x435; &#x444;&#x43E;&#x43A;&#x443;&#x441;&#x44B;
&#x412;&#x430;&#x43C; &#x43D;&#x435; &#x43F;&#x440;&#x438;&#x434;&#x435;&#x442;&#x441;&#x44F; &#x44F;&#x432;&#x43D;&#x43E; &#x443;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; return
&#x41E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x44B;
&#x412;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x44B; &#x432;&#x430;&#x440;&#x438;&#x430;&#x43D;&#x442;&#x44B; &#x43A;&#x43E;&#x43D;&#x435;&#x447;&#x43D;&#x43E;. &#x41D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x430; &#x43D;&#x435; &#x43E;&#x434;&#x43D;&#x430; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x430;, &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x443;&#x44E;&#x449;&#x430;&#x44F; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x435; &#x43D;&#x430;&#x441;&#x43B;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x43E;&#x432; &#x432; &#x44F;&#x432;&#x430;&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x435;.
&#x41D;&#x430;&#x434;&#x43E; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x43E;&#x442; &#x43E;&#x441;&#x43E;&#x431;&#x435;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x435;&#x439; &#x441;&#x438;&#x43D;&#x442;&#x430;&#x43A;&#x441;&#x438;&#x441;&#x430; &#x432;&#x441;&#x435; &#x440;&#x430;&#x432;&#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x441;&#x43F;&#x430;&#x441;&#x430;&#x435;&#x442;.
&#x41D;&#x443; &#x438;, &#x432;&#x43E;&#x43E;&#x431;&#x449;&#x435; &#x433;&#x43E;&#x432;&#x43E;&#x440;&#x44F;, &#x43F;&#x440;&#x43E;&#x442;&#x43E;&#x442;&#x438;&#x43F;&#x43D;&#x43E;&#x435; &#x43D;&#x430;&#x441;&#x43B;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; - &#x43D;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x437;&#x43B;&#x43E;. &#x41F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x435;&#x433;&#x43E; &#x43D;&#x430;&#x434;&#x43E; &#x443;&#x43C;&#x435;&#x442;&#x44C; &#x433;&#x43E;&#x442;&#x43E;&#x432;&#x438;&#x442;&#x44C;.
&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x43D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x43E;&#x442;&#x432;&#x43B;&#x435;&#x447;&#x435;&#x43C;&#x441;&#x44F; &#x438; &#x43F;&#x43E;&#x438;&#x433;&#x440;&#x430;&#x435;&#x43C; &#x432; &#x438;&#x433;&#x440;&#x443;!
&#x423;&#x440;&#x430;!
&#x41C;&#x43E;&#x436;&#x43D;&#x43E; &#x435;&#x449;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x422;&#x435;&#x43A;&#x438;&#x43B;&#x443;, &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x443;&#x436;&#x435; &#x434;&#x440;&#x443;&#x433;&#x430;&#x44F; &#x438;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x44F;.
&#x41A;&#x43E;&#x43C;&#x43F;&#x438;&#x43B;&#x438;&#x440;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x432; JavaScript.
&#x41F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x430; &#x43A;&#x43E;&#x43C;&#x43F;&#x438;&#x43B;&#x44F;&#x446;&#x438;&#x438; &#x43F;&#x440;&#x43E;&#x437;&#x440;&#x430;&#x447;&#x43D;&#x44B; &#x438; &#x43E;&#x434;&#x43D;&#x43E;&#x437;&#x43D;&#x430;&#x447;&#x43D;&#x44B;.
&#x412;&#x441;&#x435; &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x43D;&#x430; &#x44F;&#x432;&#x430;&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x435;, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x438; &#x43D;&#x430; coffeescript.
&#x421;&#x433;&#x435;&#x43D;&#x435;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x434; &#x43F;&#x440;&#x43E;&#x445;&#x43E;&#x434;&#x438;&#x442; JSLint code quality tool &#x431;&#x435;&#x437; &#x43F;&#x440;&#x435;&#x434;&#x443;&#x43F;&#x440;&#x435;&#x436;&#x434;&#x435;&#x43D;&#x438;&#x439;.
&#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x43B;&#x436;&#x430;&#x442;&#x44C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x432;&#x43D;&#x435;&#x448;&#x43D;&#x438;&#x435; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x438; &#x442;&#x430;&#x43A; &#x436;&#x435; &#x43A;&#x430;&#x43A; &#x438; &#x440;&#x430;&#x43D;&#x44C;&#x448;&#x435;.