Какова основная цель Закрытий в JS. Используется ли он только для публичных и частных переменных? или есть что-то еще, что я пропустил. Я пытаюсь понять замыкание и действительно хочу знать, каковы основные преимущества его использования.