JavaScriptObjetosintermediario

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

Mais exercícios de Objetos

JSO001 · BásicoCriar objeto simplesJSO003 · BásicoMétodo no objetoJSO006 · BásicoDesestruturação de objetoJSO008 · BásicoPropriedade computada
Ver todos os exercícios de JavaScript