Зачем мне использовать this, если есть замыкания?
Меньше кода - меньше ошибок;
Меньше кода быстрее писать;
Меньше кода проще понять;
Использование конструкций языка по их непосредственному назначению лучше выражают намерения;
В первом случае вы создали "приватные поля". Можно делать как угодно, но хранить данные в свойствах объекта просто удобнее и наглядее. И нет возможности случайно зацепить внешнюю переменную в замыкание, потом попробуй найди такое.