Вивчаємо coffeescript. Класи.

Вивчаємо CoffeeScript. Класи.

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

У мові jаvascript такого поняття як "клас"Немає. Принаймні, на момент написання даної статті. Тут ми маємо тільки конструктори і спадкування на прототипах. У мові ж coffeescript у нас є класи, які можуть допомогти нам зробити наш код більш лаконічним і зрозумілим. Отже, давайте почнемо.

Відео: Хімія 8 клас. початкові поняття

Щоб вам відразу стало ясно, як це працює, я приведу код спочатку на coffeescript, а потім те, що виходить на jаvascript.

classPerson
constructor
:(name, age)-gt;
@name= name
@age= age
getInfo
:-gt;
"Name: # {@ name}, Age: # {@ age}"

Тут ми створюємо клас Person, конструктор якого приймає два параметри, ми записуємо їх в якості, а також створюємо метод getInfo, виводить цю інформацію. Собачка, як ви вже напевно зрозуміли, тут замінює ключове слово this.

Насправді, запис отриманих параметрів в властивості ми виробляємо досить часто, тому запис можна скоротити до такої:

classPerson
constructor
:(@name,@age)-gt;
getInfo
:-gt;
"Name: # {@ name}, Age: # {@ age}"



Це абсолютно те ж саме. На виході отримуємо наступне:

varPerson-

Person=(function(){
functionPerson(name, age){
this.name = name-
this.age = age-
}

Person.prototype.getInfo =function(){
return"Name:"+this.name +", Age:"+this.age-
} -

returnPerson-

}) () -

У скомпільованому у нас тут є замикання, в якому ми оголошуємо конструктор і вішаємо на прототип цього конструктора методи. Потім ми повертаємо цей конструктор з замикання і присвоюємо змінної. Тепер ми можемо створювати об`єкти цього класу за допомогою ключового слова new.

Всі методи класу будуть встановлюватися на прототип, однак, якщо вам потрібно зробити метод статичним, є наступний спосіб:

@StaticMethod:-gt; do something


Те ж саме зі значеннями.

@StaticNum:12345

Тепер поговоримо про спадкування. Щоб успадкувати властивості і методи якогось класу, потрібно додати ключове слово extends.

classWebDeveloperextendsPerson

Якщо конструктор дочірнього класу не вказано, буде використаний конструктор класу-батька. Якщо вам потрібно викликати конструктор батьківського класу, то можна використовувати ключове слово super.

Відео: Всі серії поспіль. Фіксікі. Вчимося читати по складах. Surprise Egg Learn-A-Word! урок 1-10

classWebDeveloperextendsPerson
constructor
:-gt;
super10,20,30
do something

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

Все описане вище також справедливо і для методів.

Отже, у мене на цьому все. Тепер ви маєте базове уявлення про роботу з класами в coffeescript.

Всіх з наступаючим Новим роком! Успіху і здоров`я!

Поділися в соціальних мережах:

Схожі
Nodejs. Оброблювач подій.Nodejs. Оброблювач подій.
Стандартна модель подій в мові jаvascript.Стандартна модель подій в мові jаvascript.
Вивчаємо coffeescript. Типи даних.Вивчаємо coffeescript. Типи даних.
Метод tostring () в phpМетод tostring () в php
Ключове слово let в es6.Ключове слово let в es6.
Вивчаємо sass. Розширення батьківського селектора.Вивчаємо sass. Розширення батьківського селектора.
Створення об`єктів в jаvascriptСтворення об`єктів в jаvascript
Вивчаємо coffeescript. Цикли.Вивчаємо coffeescript. Цикли.
Перетворення типів в jаvascript.Перетворення типів в jаvascript.
Створення класу в phpСтворення класу в php
» » Вивчаємо coffeescript. Класи.