2022-07-03 14:39:09
Итак, небольшая расшифровка. И объяснение зачем это писал...
====================
Данная функция при первом запуске генерирует случайное число и записывает его как свойство функции.
При повторном и последующих запусках функция НЕ генерирует новых чисел, а всегда возвращает то первое число - сгенерированное. Т.е. при таком запуске
let a = d(); // функция выполнит генерацию числа. Допустим 7 и возвратит его
let c = d(); // возвратит 7
let b = d(); // возвратит 7
Кто чуть учил ООП и паттерны понял, что по сути, мы реализовали логику работы паттерна Singleton только очень упрощенно и не на классе - объекте.
Что такое паттерн
Singleton - это паттерн который описывает класс, который может порождать только один объект. При повторной попытке породить создать еще один объект - возвращается созданный в первый раз. Т.е. по факту на основе класса создается один объект, или умными словами:
Паттерн гарантирует наличие единственного экземпляра класса
либо еще более умно
Гарантирует наличие единственного инстанса класса
Звучит? Да. Но все проще. При первом запуске создается объект и сохраняется на него ссылка. При второй попытке создать новый объект - возвращается ссылка на уже созданный.
Думаю понятно объяснил. Теперь вопросы и замечания.
1. Нужны ли уроки по таким упрощенным паттернам? Я тут не приводил реализацию в JS, в уроках покажу.
2. Любые аналогии - упрощение. Паттерн еще говорит о единой точке входа, тут я вроде ее показал, но не уделил внимания сильно.
2.0K viewsAlexander Luschenko, 11:39