Це напевно маст хев питання на інтервʼю, особливо для Junior i Middle розробників. Якщо вас запитали його, то ваша задача відповісти в неочікуваному ключі.
Найперше, розкажіть простими словами, що таке замкнення.
Простими словами - це здатність функції запамʼятовувати область видимості, де вона була оголошена.
Розберемо на простому прикладі:
Після того як ви відповіли на питання, скажіть АЛЕ тут є нюанс.
Якщо розглядати замкнення в контексті high-load чи навіть data-intensive в Node.js проектах, то його необережне використання, може привести до Memory Leaks.
Це відбувається тому що Garbage Collector не очищає обʼєкти на які є посилання. І якщо зберігати в замкненні великі обʼєкти, цілком імовірно отримати проблеми з памʼяттю. Тому варто памʼятати про WeakMap, WeakSet, WeakRef.