Factory function
Antes de existir class em JavaScript (e ainda hoje, em muito código em produção), criar objetos parecidos em série se resolvia com uma função que monta e devolve o objeto — uma factory function. É uma alternativa mais simples que classes pra quando você só precisa gerar objetos com a mesma forma, sem herança envolvida.
O PROBLEMA
Crie criarPessoa(nome, idade) que retorna objeto pessoa com propriedades e método apresentar().
EXEMPLO
const ana = criarPessoa("Ana", 25);
ana.apresentar() → "Olá! Sou Ana, 25 anos."SOBRE O CONCEITO
A função recebe os dados (nome, idade) e retorna um objeto literal {} com essas propriedades e um método. Dentro desse objeto, os métodos podem referenciar as outras propriedades diretamente pelo nome da variável (já que estão no mesmo escopo da função) — não precisa e não deve usar this aqui, porque this dentro de uma function declaration comum se comporta de forma imprevisível fora do contexto de um objeto construído com new. Esse é o erro mais comum de quem já viu this em outro contexto e tenta aplicar aqui por hábito.
RESOLUÇÃO