Вивчаємо CoffeeScript

вивчаємо

Всім привіт! У цій статті ми поговоримо про те, як створювати та використовувати функції в мові програмування coffeescript .

Отже, давайте напишемо функцію привітання спочатку наjavascript, а потім наcoffeescript, щоб ви одразу побачили різницю.

var greet; greet = function(name) return 'Hello, ' + name + '!'; >;

Та сама функція вcoffeescriptвиглядатиме ось так:

Як бачите, все значно простіше. Спочатку у круглих дужках йдуть аргументи, потім стрілочка, потім тіло функції. Якщо ж вам не потрібні аргументи, то ви взагалі можете не писати їх, і тоді функція буде виглядати так:

greet = -> 'Hello, Sergey!'

У скомпілюваномуjavascriptви можете побачити, що функція завжди повертає значення останнього виразу. Тобто. у нашому випадку з привітанням вона виглядатиме так:

var greet; greet = function(name) return 'Hello, ' + name + '!'; >;

Хоча ми ніде не писали ключового слова return уcoffeescript! Давайте тепер змінимо функцію вcoffeescriptі подивимося, що вийде в скомпільованомуjavascript, щоб це все було наочніше

greet = (name) -> do updateSomething do changeSomething 'Hello, #!' в процесSomething

У результаті отримаємо таке:

var greet; greet = function(name) do updateSomething(); do changeSomething(); 'Hello, '+ name + '!'; Return processSomething(); >;

Насправді, це ні на що не впливає, ви можете просто ігнорувати це повернення, якщо воно вам не потрібне. Однак, якщо все-таки вам дуже потрібно прибрати його зі скомпільованого коду, просто додайте порожнійreturnв кінці.

Природно, ви можете прописувати стандартні значення для аргументів так само, як іjavascript

greet = (name = 'Sergey') -> 'Hello, #!'

Тепер поговоримо про те, що робити, якщо наша функція має набувати невизначеної кількості аргументів. Уjavascriptдля цього використовується об'єктarguments, уcoffeescriptвсе набагато простіше.

normalize = (length, vectors. ) -> 'Something here. '

Як ви можете бачити, все, що нам потрібно зробити, це просто додати три точки, що означатиме, що всі наступні аргументи після другого будуть записані в масивvectors.

Тепер про області видимості: var писати не потрібно, всередині функції будь-яка змінна вважається локальною в тому випадку, якщо змінна з таким ім'ям не була оголошена раніше.

outer = 10 func = -> outer = 10 inner = 10 return

В результаті отримаємо наступне:

var func, outer; outer = 10; func = function() var inner; outer = 10; inner = 10; >;

Викликати функції можна без круглих дужок. При вкладених дзвінках параметри обертаються праворуч наліво.

show() // show() do show // show() show update object // show(update(object))

Тепер розглянемо анонімні функції, що самовикликаються. Як ви вже знаєте, всі функції вcoffeescriptанонімні і все, що вам потрібно зробити, щоб отримати анонімну функцію, що самовикликається, як у мовіjavascript, це написати попереду ключове словоdo

do -> do something

В результаті отримаємо наступне:

Тож на цьому все! Дякую за увагу!

Додайте до мене у друзіВКонтакте: http://vk.com/myrusakov. Якщо Ви хочете дати оцінку мені та моїй роботі, то напишіть її вмоїй групі: http://vk.com/rusakovmy.

Запропонуйте цю статтю друзям:

Якщо Вам сподобався сайт, розмістіть посилання на нього (у себе на сайті, на форумі, в контакті):

Вона виглядає ось так:

  • BB-код посилання для форумів (наприклад, можете поставити його у підписі):
  • Коментарі ( 1 ):