{"id":869,"date":"2024-03-19T20:04:33","date_gmt":"2024-03-19T23:04:33","guid":{"rendered":"https:\/\/desvendandoocodigo.com.br\/?p=869"},"modified":"2024-03-19T20:10:44","modified_gmt":"2024-03-19T23:10:44","slug":"funcao-construtora-em-javascript","status":"publish","type":"post","link":"https:\/\/desvendandoocodigo.com.br\/?p=869","title":{"rendered":"Fun\u00e7\u00e3o Construtora em JavaScript"},"content":{"rendered":"\n<p>No vasto ecossistema da programa\u00e7\u00e3o em JavaScript, uma das ferramentas mais poderosas e fundamentais \u00e9 a fun\u00e7\u00e3o construtora. Apesar de sua aparente simplicidade, compreender o seu funcionamento e sua aplica\u00e7\u00e3o pode abrir portas para uma codifica\u00e7\u00e3o mais eficiente e organizada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 uma fun\u00e7\u00e3o construtora?<\/strong><\/h2>\n\n\n\n<p>Em JavaScript, uma fun\u00e7\u00e3o construtora \u00e9 uma fun\u00e7\u00e3o que \u00e9 usada para criar objetos. Ela atua como um modelo para a cria\u00e7\u00e3o de m\u00faltiplas inst\u00e2ncias de objetos com propriedades e m\u00e9todos semelhantes. Em vez de definir cada objeto individualmente, uma fun\u00e7\u00e3o construtora nos permite criar novas inst\u00e2ncias de forma simples e reutiliz\u00e1vel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Sintaxe de uma fun\u00e7\u00e3o construtora<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"384\" height=\"132\" src=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-15.png\" alt=\"\" class=\"wp-image-870\" srcset=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-15.png 384w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-15-300x103.png 300w\" sizes=\"(max-width: 384px) 100vw, 384px\" \/><\/figure>\n\n\n\n<p>Nas vers\u00f5es atuais do ECMAscript \u00e9 sugerido a cria\u00e7\u00e3o de uma classe para a cria\u00e7\u00e3o da fun\u00e7\u00e3o construtora conforme imagens:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"262\" src=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-16.png\" alt=\"\" class=\"wp-image-871\" srcset=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-16.png 498w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-16-300x158.png 300w\" sizes=\"(max-width: 498px) 100vw, 498px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"329\" height=\"172\" src=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-17.png\" alt=\"\" class=\"wp-image-872\" srcset=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-17.png 329w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-17-300x157.png 300w\" sizes=\"(max-width: 329px) 100vw, 329px\" \/><\/figure>\n\n\n\n<p>Dessa forma podemos organizar nossas fun\u00e7\u00f5es construtoras dentro de classes e assim nosso c\u00f3digo fica mais organizado.<\/p>\n\n\n\n<p>Neste exemplo, Pessoa \u00e9 a fun\u00e7\u00e3o construtora. Ela aceita dois par\u00e2metros, <strong>nome <\/strong>e <strong>idade<\/strong>, e define esses valores para as propriedades correspondentes do objeto usando a palavra-chave <strong>this<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Criando inst\u00e2ncias de objetos<\/strong><\/h2>\n\n\n\n<p>Uma vez que temos uma fun\u00e7\u00e3o construtora, podemos criar novos objetos utilizando o operador new. Por exemplo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"341\" height=\"54\" src=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-18.png\" alt=\"\" class=\"wp-image-873\" srcset=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-18.png 341w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/03\/image-18-300x48.png 300w\" sizes=\"(max-width: 341px) 100vw, 341px\" \/><\/figure>\n\n\n\n<p>Aqui, <strong>pessoa1 <\/strong>e <strong>pessoa2 <\/strong>s\u00e3o inst\u00e2ncias separadas do objeto <strong>Pessoa<\/strong>, cada uma com suas pr\u00f3prias propriedades definidas pelos argumentos passados durante a sua cria\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Benef\u00edcios das Fun\u00e7\u00f5es Construtoras<\/strong><\/h2>\n\n\n\n<ol>\n<li><strong>Reutiliza\u00e7\u00e3o de c\u00f3digo:<\/strong> Uma das maiores vantagens das fun\u00e7\u00f5es construtoras \u00e9 a capacidade de reutilizar o c\u00f3digo. Com uma fun\u00e7\u00e3o construtora, podemos criar m\u00faltiplas inst\u00e2ncias de objetos com a mesma estrutura b\u00e1sica, economizando tempo e esfor\u00e7o de programa\u00e7\u00e3o.<\/li>\n\n\n\n<li><strong>Organiza\u00e7\u00e3o:<\/strong> As fun\u00e7\u00f5es construtoras ajudam a manter o c\u00f3digo organizado e modular. Elas permitem encapsular a l\u00f3gica relacionada a um tipo espec\u00edfico de objeto em uma \u00fanica fun\u00e7\u00e3o, facilitando a manuten\u00e7\u00e3o e o entendimento do c\u00f3digo.<\/li>\n\n\n\n<li><strong>Encapsulamento:<\/strong> As propriedades e m\u00e9todos definidos dentro de uma fun\u00e7\u00e3o construtora podem ser encapsulados, o que significa que s\u00e3o acess\u00edveis apenas dentro do escopo do objeto. Isso promove a seguran\u00e7a e evita interfer\u00eancias indesejadas de outras partes do c\u00f3digo.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclus\u00e3o<\/strong><\/h2>\n\n\n\n<p>As fun\u00e7\u00f5es construtoras s\u00e3o uma parte fundamental da linguagem JavaScript e desempenham um papel crucial na cria\u00e7\u00e3o de objetos de forma eficiente e organizada. Ao entender como e quando usar fun\u00e7\u00f5es construtoras, voc\u00ea pode melhorar significativamente a qualidade e a manutenibilidade do seu c\u00f3digo. Pratique a cria\u00e7\u00e3o e utiliza\u00e7\u00e3o de fun\u00e7\u00f5es construtoras em seus projetos para aprimorar suas habilidades de desenvolvimento JavaScript.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No vasto ecossistema da programa\u00e7\u00e3o em JavaScript, uma das ferramentas mais poderosas e fundamentais \u00e9 a fun\u00e7\u00e3o construtora. Apesar de sua aparente simplicidade, compreender o seu funcionamento e sua aplica\u00e7\u00e3o pode abrir portas para uma codifica\u00e7\u00e3o mais eficiente e organizada. O que \u00e9 uma fun\u00e7\u00e3o construtora? Em JavaScript, uma fun\u00e7\u00e3o construtora \u00e9 uma fun\u00e7\u00e3o que \u00e9 usada para criar objetos. Ela atua como um modelo para a cria\u00e7\u00e3o de m\u00faltiplas inst\u00e2ncias de objetos com propriedades e m\u00e9todos semelhantes. Em vez de definir cada objeto individualmente, uma fun\u00e7\u00e3o construtora nos permite criar novas inst\u00e2ncias de forma simples e reutiliz\u00e1vel. Sintaxe de uma fun\u00e7\u00e3o construtora Nas vers\u00f5es atuais do ECMAscript \u00e9 sugerido a cria\u00e7\u00e3o de uma classe para a cria\u00e7\u00e3o da fun\u00e7\u00e3o construtora conforme imagens: Dessa forma podemos organizar nossas fun\u00e7\u00f5es construtoras dentro de classes e assim nosso c\u00f3digo fica mais organizado. Neste exemplo, Pessoa \u00e9 a fun\u00e7\u00e3o construtora. Ela aceita dois par\u00e2metros, nome e idade, e define esses valores para as propriedades correspondentes do objeto usando a palavra-chave this. Criando inst\u00e2ncias de objetos Uma vez que temos uma fun\u00e7\u00e3o construtora, podemos criar novos objetos utilizando o operador new. Por exemplo: Aqui, pessoa1 e pessoa2 s\u00e3o inst\u00e2ncias separadas do objeto Pessoa, cada uma com suas pr\u00f3prias propriedades definidas pelos argumentos passados durante a sua cria\u00e7\u00e3o. Benef\u00edcios das Fun\u00e7\u00f5es Construtoras Conclus\u00e3o As fun\u00e7\u00f5es construtoras s\u00e3o uma parte fundamental da linguagem JavaScript e desempenham um papel crucial na cria\u00e7\u00e3o de objetos de forma eficiente e organizada. Ao entender como e quando usar fun\u00e7\u00f5es construtoras, voc\u00ea pode melhorar significativamente a qualidade e a manutenibilidade do seu c\u00f3digo. Pratique a cria\u00e7\u00e3o e utiliza\u00e7\u00e3o de fun\u00e7\u00f5es construtoras em seus projetos para aprimorar suas habilidades de desenvolvimento JavaScript.<\/p>\n","protected":false},"author":1,"featured_media":874,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/869"}],"collection":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=869"}],"version-history":[{"count":4,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/869\/revisions"}],"predecessor-version":[{"id":878,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/869\/revisions\/878"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/media\/874"}],"wp:attachment":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}