Вивчаємо 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.
Всіх з наступаючим Новим роком! Успіху і здоров`я!
- Як працювати з класами в ecmascript 2015.
- Як анімувати елементи при прокручуванні сторінки.
- Вивчаємо coffeescript. Цикли.
- Вивчаємо coffeescript. Умови.
- Вивчаємо coffeescript. Оператори.
- Nodejs. Оброблювач подій.
- Вивчаємо coffeescript. Вступ.
- Метод tostring () в php
- Аналог str_replace () в jаvascript
- Вивчаємо coffeescript. Функції.
- Поняття ооп в jаvascript
- Створення класу в php
- Вивчаємо sass. Розширення батьківського селектора.
- Перетворення типів в jаvascript.
- Ключове слово let в es6.
- Об`єкти, прототипи і конструктори в мові jаvascript.
- jаvascript hello world
- Валідність jаvascript
- Стандартна модель подій в мові jаvascript.
- Вивчаємо coffeescript. Типи даних.
- Створення об`єктів в jаvascript