JavaScript без лаптей та балалайки. Part 5-1. Classes. First step for beginners.

Пізніше я додам тайм-коди: Class Lecture (Part 1.) Функція що показую іерархію дерайвед класів (іерархію прототайпів). Класи завжди транслюются у функції якщо рантайм у нас буде меньше ніж ES6. Документ Class Evaluation order. Extend – головне у теорії класів – будування дерайвед класів. На класи можна розбивати по-різному, ніхто інший не зрузуміє вашу розбивку на класи Приклад зловживання теоріїє класів – 35 проектів з тисячами класів для простої операції зливання двох текстових класів в один тестовий файл Constructor классів. Singlton паттерн. Перевірка Синглтона за допомогою Чая та Мочи. Більшість GOF-патернів використувуеться лише для зловживань та необгрунтованого ускладнення кода. Але Singlton – це абсолютно необхідний патерн. Приклад розширення MAP власним методом PlusOne Super як ключове слово, що дозволяє з метода додати проперті у класс. Super() як метод в Конструкторі, повинен повернути що небудь, обьект наприклад, Класси від NULL утворюються по іншому. Різниця між модулем та класом, модуль теж дозволяє робити інкапсуляцію методів в одне місце. Приватні поля класів #. Конструктор з параметром, заборона у JS поліморфних конструкторів. Дефолт-параметр у конструкторі Додавання проперті у конструкторі за допомогою This. Приклад роботи з Set та строчним літералом. Приватний філд у дерайвед класі. Юнікод-сімволи. New – instantiated class, утворює This зі звичайної функції. Абстрактні класи, заборона прямого інстанціровання класса або окремого метода. Патерн у якому можна інстанцювати лише дерайвед клас. Чіткість в порозумінні классів, чіткість мислення це залог коректного програмування, найважливіше у класах – Implements/Inheritance. Приклад змішування протилежних концепцій теорії класів у C#. Для чого Мікрософт псує теорію класів та просуває мову з порушенням концепцій теорії класів– щоб підвищити капіталізацію IT-індустрії, збагатися самой, збільшити виплати на акцію, дати роботи більшої кількісті людей у IT, підвищити складність софта, зарплати, прайс на софт, зробити C# софт неконвертованим у будь які мови першого класа, а навпаки щоб будь який софт легко конвертувався у C#. Дерайвед класс повинен мати конструктор, ще раз про New у абстрактному класі. Розширене додавання проперті у конструкторі через Object.DefineProperty, боксінг методів додатковими методами, Writable = false Class-expression, виклик монікера Call з прототайпа для класів Перезавантаження ToStringTag, кваліфікатор Get Актуальність цього патерна для Веб-компоненті ще раз про ємулятори HTML у Node Приклад будування власного HTML-єлемента як дерайвед надбудови над базовим HTML-єлементом Ребайндінг одного метода з базового класу на дерайвед клас, магічна строка у конструкторі Зациклили код щоб зрозуміти рівень рекурсії Класс в цілому може теж бути ітератором, як й обьект, як й функція Не тільки клас може бути ітеративним, але й окремий метод в ньому Як винести всі існуючи приватні поля назовні одним ітеративним методом все підсумовуемо Класи – це серьозна тема, неможна цю тему розповісти за декілька хвилин на одному уроці у розмові з учнями. Всі хто обіцяє вас навчити всьому Джаваскріпту (включно класам) за один тиждень, тобто за 40 годин, та ще й у групі з іншими учнями - шахраї, не верьте що можливо вивчити Javascript за тиждень, цьому вчаться роками у щоденному режимі. Друга частина про класи буде більш серьозна, треба більше знати про JS, другу частину запишемо пізніше, після Closure. але Static поля це те що потрібно знати на базовому рівні володіння класами писати на Vanilla Джавасрипті занадто важко, тому на практиці звичайно пишуть на ТайпСкрипт. У Тайскріпті інший сінтаксіс класів, особливо у Angular. Наприклад, немає слова function у функцій, конструктор використовується для ДепенденсіІнжекшен (DI) контейнера, він звичайно утворюються зі змінними, які автодекларуються. Сінглтони робляться інакше - сервісами або провайдерами. Ребайндіг методів неможливий так як у Ванілла JS, для цього робляться окремі сервіси. ------------------------- Why we speak Ukrainian? Because : свечка-печка совок-веник лапти-валенки медведь-балалайка попы и молитвы НКВД и Гулаг Пушкин и дедыНаПалках So, lets going: ----------------------- Part 1.    • JavaScript без лаптей та балалайки. Ф...   Part 2.    • JavaScript без лаптей та балалайки. Ф...   Part 3.    • JavaScript без лаптей та балалайки. P...   Part 4.    • JavaScript без лаптей та балалайки. P...  

Смотрите также