Первое это не объект, а функция-конструктор (класс). На ее основе создаются экземпляры объекта.
var Vasia = new Person ("Вася", 10, 2021)
Второе - литерал объекта
Я в js не сильно шарю, но второе это что-то типо структуры или класса, а первой какая-то несусветная хрень.
Как в первом случае обращаться к полям из вне? Какой смысл заключается в this.name=name?
при объявлении переменной допустим объект
один вариант используешь
а при создании более сложного объекта допустим с this
все зависит от вашей задачи потребности и искусстве написании кода
и также не стоит забывать что в грамотно написанном коде
легче найти не соответствия и ошибки