Home Work 22

JavaScript Essentials: замикання, рекурсія та контекст

На сторінці показано виконання задач із шаблону Main.js: лічильники через замикання, рекурсивне піднесення до степеня, пошук максимуму через apply() та прив'язування аргументів через bind().

Exceptions Arrow functions Use strict This Accessors

Що взято з уроку

Урок №22 був про надійніший JavaScript: throw, try...catch...finally, стрілкові функції, строгий режим, контекст this, методи call(), apply(), bind(), а також гетери, сетери та дескриптори властивостей.

  • Замикання зберігають стан лічильників між викликами.
  • Рекурсія рахує степінь, зокрема нульовий і від'ємний.
  • Винятки обробляють некоректні дані без падіння сторінки.
  • Методи apply() і bind() керують аргументами та контекстом.

1. counter()

Функція-лічильник створена через замикання: внутрішнє значення не доступне напряму ззовні, але зберігається між викликами.

2. counterFactory

Об'єкт має методи value(), increment() і decrement(), які працюють зі спільним прихованим значенням.

3. myPow(a, b, myPrint)

Функція рахує степінь рекурсивно, а готовий рядок повертає через callback-функцію myPrint.

4. myMax(arr)

Максимальне число знаходиться через Math.max() і apply(). Некоректний масив демонструє обробку помилки через try...catch.

5. myMul, myDouble та myTriple

Базова функція множення використовується повторно, а подвоєння та потроєння створюються через bind() без додаткових математичних операцій усередині нових функцій.