Треки
/
JavaScript
JavaScript
/
Вправи
/
Людина з лінзами
Людина з лінзами

Людина з лінзами

Середня

Вступ

У JavaScript лінзи - це концепція функціонального програмування, яка дає змогу отримувати доступ до даних і змінювати їх у модульний і незмінний спосіб. По суті, це пари чистих функцій-гетерів і функцій-сетерів, які можна поєднувати між собою і які зосереджуються на конкретному полі всередині обʼєкта.

Лінзи можна використовувати, щоб спрощувати код, робити його придатнішим для повторного використання та уникати поширених помилок програмування. Наприклад, за допомогою лінз можна:

  • отримувати доступ до вкладених структур даних і змінювати їх, не переймаючись конкретною структурою цих даних.
  • оновлювати дані в чистий спосіб, не змінюючи при цьому оригінальний обʼєкт.
  • поєднувати кілька лінз, щоб створювати складніші лінзи, які дають змогу отримувати доступ до даних і змінювати їх різними способами.

Вказівки

Використайте лінзи, щоб оновлювати вкладені записи (це стосується мов із незмінними даними).

Оновлювати поля вкладених незмінних записів доволі дратівливо. Чим глибша структура, тим громіздкіший код для таких випадків. Якщо в нас є, скажімо, особа, яка містить адресу, що має вулицю, а та має номер, то для оновлення номера потрібно створити нову вулицю з новим номером, потім нову адресу з новою вулицею і, нарешті, нову особу з новою адресою. Ми вже заплуталися?

Одне з рішень цієї проблеми - використати лінзи.

Реалізуйте кілька функцій доступу до записів за допомогою лінз. Набір тестів також дозволяє нам взагалі обійтися без лінз, щоб ми могли поекспериментувати з різними підходами.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
JavaScript Exercism

Час розпочати Людина з лінзами?

Зареєструйтеся на Exercism, щоб вивчати й опановувати JavaScript, а також 37 концепцій159 вправ та справжнє наставництво від людей, і все це безкоштовно.