Resumo: neste tutorial, você vai aprender sobre as funções de fábrica JavaScript que são funções que retornam objetos.
Introdução às funções de fábrica em JavaScript
uma função de fábrica é uma função que retorna um novo objeto. A seguir cria um objeto chamado pessoa john
:
Code language: JavaScript (javascript)
Saída:
O john
objeto tem duas propriedades: firstName
e lastName
, e um método getFullName()
que retorna o nome completo.
Suponha que você precisa para criar outro objeto semelhante chamado jane
, você pode duplicar o código da seguinte maneira:
Code language: JavaScript (javascript)
Saída:
O jane
objeto tem as mesmas propriedades e método como o john
objeto.
quanto mais objeto você deseja criar, mais código duplicado você precisa copiar.
para evitar copiar o mesmo código uma e outra vez, você pode desenvolver uma função que cria o objeto person
:
Code language: JavaScript (javascript)
quando uma função cria um objeto, ela é chamada de função de fábrica. O createPerson()
é uma função de fábrica porque retorna um novo objeto person
.
o seguinte código utiliza a função de fábrica createPerson()
para criar dois objectos john
e jane
:
Code language: JavaScript (javascript)
com a função de fábrica, você cria qualquer número dos objetos person
que deseja sem duplicar o código.
quando você cria um objeto, esse objeto requer um espaço na memória. Se você tem mil objetos person
, você precisa de mil espaços na memória para armazenar esses objetos. Essas pessoas objetos, no entanto, têm o mesmo método getFullName()
.
Para evitar a repetição do mesmo getFullName()
função na memória, você pode remover o getFullName()
método person
objeto:
Code language: JavaScript (javascript)
E mover-se este método de outro objeto:
Code language: JavaScript (javascript)
E antes de chamar o getFullName()
método person
objeto, você pode atribuir o método do behavior
objeto person
objeto da seguinte maneira:
Code language: JavaScript (javascript)
Ele vai ser mais difícil se você tiver muitos métodos e atribuí-los manualmente.
é por isso que o método Object.create()
entra em jogo.
O Objecto.método create ()
O Object.create()
método cria um novo objeto usando um objeto existente como o protótipo do novo objeto:
Code language: CSS (css)
Assim, você pode usar o Object.create()
da seguinte forma:
Code language: JavaScript (javascript)
Agora, você pode criar person
objetos e chamar os métodos da behavior
objeto:
Code language: JavaScript (javascript)
O código funciona perfeitamente bem. No entanto, na prática, você raramente verá as funções da fábrica. Em vez disso, você vai ver os construtores de funções ou as classes.
resumo
- uma função de fábrica é uma função que retorna um novo objeto.
- Use
Object.create()
para criar um objeto usando um objeto existente como um protótipo.
- este tutorial foi útil ?
- YesNo