Патерни проєктування · Middle · Запитання 36 з 75
Як реалізувати ліниву ініціалізацію важкого об'єкта?
let client;
export function getClient() {
return (client ??= createHeavyClient());
}- ✓Правильна відповідь: Створювати об'єкт під час першого звернення й перевикористовувати далі
- 2Створювати об'єкт у
setTimeout, щоб він не блокував завантаження - 3Створювати новий об'єкт за кожного виклику
getClient
Пояснення
Лінива ініціалізація заощаджує час старту й ресурси, якщо об'єкт може не знадобитися. Часто поєднується з динамічним import() для важких SDK. Пам'ятайте про SSR: на сервері такий модульний кеш спільний для всіх запитів.