(Notes) Notes (2016)

(back) JavaScript (back)


Спочатку JS5 и ніякого ООП. Був контекст пустий, тобто Window. Відтепер у стрічці 14 зробили прив'язку контексту, а у стрічці 15 викликали функцію.


Стрічка 11 робить теж саме, але в одну стрічку - створення контексту та відразу виклик функції.


З простої функції зробили метод. Відтепер контекст виклику функції - обьект. Bind відтепер непотрібен, він утворюється автоматично. Тобто на відміну від функції контект метода завжди відомий.


Bind функции к контексту утворює нову функцію кожний раз.


Фабрика, которая возвращает об'ект Person.


Функція 21-27 без New ніякого контекста не має, на відміну 15-16, де контекст існує завжди. Функції, які фактично є класи прийнято іменувати з великої літери.


Return this - це return за замовчуванням будь-якої функції. У данному випадку New e стрічці 27 створює новий контект і він повертеється з функції (фактично нового об'екту).


Додали метод до класу та визвали його. Стрічки 22-24 - це конструктор класу.


Додали у стрічці 31 до об'екту прототип зі свойством car.


Винесли функцію у прототип. Функція завжди викликається з правильним контекстом об'екту.


Сумарний скрин.


Весь Javascript зроблений на вбудованих класах. Приблизно так зроблена вбудована функція map у прототіпа Array.


Статичне свойство у стрічці 6 належить усім єкземлярам відразу

З 2016 року працюю JS6 з новим сінтаксісом class. Це взагалі нові можлиості JS6 http://es6-features.org

Відтепер, з об'явої class можливо також зробити не тільки статичне свойство, але й статичний метод.


Get/Set свойства


Успадкування класів


Super - це MyBase.


Фунція, та її зовнішні змінні навколо неї, з якими вона працює.



Comments ( )
Link to this page: //www.vb-net.com/QuickHelp/JS/JS.htm
< THANKS ME>