Вивчаємо 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
Nodejs. Оброблювач подій.
Вивчаємо coffeescript. Типи даних.
Метод tostring () в php
Ключове слово let в es6.
Вивчаємо sass. Розширення батьківського селектора.
Вивчаємо coffeescript. Цикли.
Створення класу в php