Criação de objeto JavaScript usando literais vs funções personalizadas de construtor
Entendo que existem várias maneiras de criar um objeto em javascript e tenho lido que a sintaxe literal do objeto geralmente é a preferida. (Corrigir?
O que não consegui descobrir é se existe algum motivo para usar qualquer uma das outras maneiras de criar objetos, como uma função de construtor personalizado var p = new Person("Adam")
)? É verdade usar uma função de construtor personalizado somente se eu desejar variáveis privadas ou adicionar métodos ou propriedades ao seu protótipo? Não há como fazer isso de forma literal?