{"id":6805,"date":"2015-05-16T18:30:16","date_gmt":"2015-05-16T21:30:16","guid":{"rendered":"http:\/\/www.impacta.com.br\/blog\/?p=6805"},"modified":"2015-05-16T18:30:16","modified_gmt":"2015-05-16T21:30:16","slug":"como-funcionam-closures-em-javascript","status":"publish","type":"post","link":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/","title":{"rendered":"Como funcionam as Closures em JavaScript?"},"content":{"rendered":"<p style=\"text-align: justify;\">As\u00a0<em>closures em <strong>JavaScript<\/strong><\/em>\u00a0permitem que programadores escrevam melhor, de modo mais conciso e expressivo. Mas voc\u00ea sabe o que, de fato, elas s\u00e3o? Ter um conhecimento sobre closures e como utiliza-las \u00e9 um passo importante para compreender mais ainda a linguagem de programa\u00e7\u00e3o JavaScript.<\/p>\n<p style=\"text-align: justify;\">Uma closure \u00e9 uma fun\u00e7\u00e3o interna que possui acesso a (refer\u00eancia) vari\u00e1veis independentes da fun\u00e7\u00e3o externa. Em outras palavras, a fun\u00e7\u00e3o definida na closure se lembra do ambiente na qual foi criada.<\/p>\n<p style=\"text-align: justify;\">Ap\u00f3s ler a defini\u00e7\u00e3o acima pode ter parecido um pouco complicado o que, de fato, elas s\u00e3o. Mas a partir de agora vamos apresentar alguns exemplos que v\u00e3o deixar mais claro o seu funcionamento.<\/p>\n<h1 style=\"text-align: center;\"><span style=\"font-size: 12pt;\"><strong>Escopo L\u00e9xico<\/strong><\/span><\/h1>\n<p style=\"text-align: justify;\">Antes de exemplificar o funcionamento das closures em JavaScript, \u00e9 preciso entender que o c\u00f3digo escrito na linguagem segue um padr\u00e3o l\u00e9xico (isso mesmo, uma estrutura lingu\u00edstica). O escopo l\u00e9xico de uma fun\u00e7\u00e3o \u00e9 definido como sua posi\u00e7\u00e3o f\u00edsica na estrutura do c\u00f3digo fonte. Veja o exemplo abaixo:<\/p>\n<p>var x = \u201cglobal\u201d<br \/>\nfunction iniciar() {<br \/>\nvar nome = &#8220;Impacta&#8221;; \/\/ nome da vari\u00e1vel criada dentro da fun\u00e7\u00e3o iniciar<br \/>\nfunction mostraNome() { \/\/ mostraNome() \u00e9 uma fun\u00e7\u00e3o interna.<br \/>\nalert(nome); \/\/ utiliza-se aqui a vari\u00e1vel criada na fun\u00e7\u00e3o parente.<br \/>\n}<br \/>\nmostraNome();<br \/>\n}<br \/>\niniciar();<\/p>\n<p style=\"text-align: justify;\">No exemplo acima, a fun\u00e7\u00e3o mostraNome() \u00e9 uma fun\u00e7\u00e3o interna que est\u00e1 est\u00e1 fisicamente englobada pela fun\u00e7\u00e3o iniciar(), logo, somente pode ser acessada no corpo desta. mostraNome() tamb\u00e9m n\u00e3o possui vari\u00e1veis pr\u00f3prias, mas consegue acessar a vari\u00e1vel nome j\u00e1 definida em sua fun\u00e7\u00e3o pai. J\u00e1 a fun\u00e7\u00e3o iniciar(), por sua vez, est\u00e1 envolvida pelo contexto global.<\/p>\n<p style=\"text-align: justify;\">Nesse sentido, o escopo l\u00e9xico de qualquer fun\u00e7\u00e3o \u00e9 definido pela estrutura l\u00e9xico-hierarquica de seus ancestrais. No exemplo acima, o escopo l\u00e9xico da fun\u00e7\u00e3o mostraNome() \u00e9 composto pela fun\u00e7\u00e3o iniciar() e o objeto global (vari\u00e1vel x).<\/p>\n<h1 style=\"text-align: center;\"><span style=\"font-size: 12pt;\"><strong>Closures<\/strong><\/span><\/h1>\n<p>Agora que ficou claro o que \u00e9 o escopo l\u00e9xico, vamos ao seguinte exemplo:<br \/>\nfunction foo(x) {<br \/>\nvar tmp = 3;<br \/>\nfunction bar(y) {<br \/>\nalert(x + y + (++tmp));<br \/>\n} bar(10);<br \/>\n}<br \/>\nfoo(2);<\/p>\n<p style=\"text-align: justify;\">Ao executar a fun\u00e7\u00e3o acima o resultado ser\u00e1 um alerta com o n\u00famero 16, pois a fun\u00e7\u00e3o bar() pode acessar a vari\u00e1vel x que foi definida como um argumento da fun\u00e7\u00e3o foo.<\/p>\n<p style=\"text-align: justify;\">E isto \u00e9 uma closure! O simples fato de que uma fun\u00e7\u00e3o pode acessar vari\u00e1veis que se encontram fora do escopo l\u00e9xico imediato cria uma closure.<\/p>\n<p style=\"text-align: justify;\">O pr\u00f3ximo exemplo vai deixar ainda mais claro a utilidade das closures.<\/p>\n<p>function adiciona(x) {<br \/>\nreturn function(y) {<br \/>\nreturn x + y;<br \/>\n};<br \/>\n}<br \/>\nvar add5 = adiciona(5);<br \/>\nvar add10 = adiciona(10);<br \/>\nconsole.log(add5(5)); \/\/ O resultado ser\u00e1 10<br \/>\nconsole.log(add10(5)); \/\/ O resultado ser\u00e1 15<\/p>\n<p style=\"text-align: justify;\">N\u00f3s criamos a fun\u00e7\u00e3o adiciona(x), que aceita um argumento \u201cx\u201d e retorna uma nova fun\u00e7\u00e3o. A fun\u00e7\u00e3o retornada aceita um argumento \u201cy\u201d e retorna a soma de \u201cx\u201d + \u201cy\u201d. Ou seja, a fun\u00e7\u00e3o adiciona(x) \u00e9 uma \u201cm\u00e1quina de fun\u00e7\u00f5es\u201d. Ao referenci\u00e1-la em vari\u00e1veis que definem a vari\u00e1vel \u201cx\u201d, uma nova fun\u00e7\u00e3o \u00e9 criada.<\/p>\n<p style=\"text-align: justify;\">No exemplo acima n\u00f3s criamos duas novas fun\u00e7\u00f5es, add5() e add10(), a primeira adicionando 5 como o argumento \u201cx\u201d e a segunda adicionando 10. Estas duas fun\u00e7\u00f5es s\u00e3o closures, pois compartilham o mesmo corpo da fun\u00e7\u00e3o adiciona(), mas guardam argumentos diferentes.<\/p>\n<p style=\"text-align: justify;\">Em termos de programa\u00e7\u00e3o, closures representam grande sofistica\u00e7\u00e3o. Tornam os c\u00f3digos mais compactos e f\u00e1ceis de ler, al\u00e9m de reaproveit\u00e1veis. Saber como utiliz\u00e1-las elimina muito tempo e retrabalho. Esperamos que este artigo tenha deixado claro como elas funcionam e seja o come\u00e7o para o entendimento deste artif\u00edcio genial. Se voc\u00ea ainda tiver d\u00favidas, favor deixar uma mensagem em nossos coment\u00e1rios.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2015\/05\/Como-funcionam-Closures-em-JavaScript.jpg\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6809\" title=\"Descubra como funcionam Closures em JavaScript\" src=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2015\/05\/Como-funcionam-Closures-em-JavaScript.jpg\" alt=\"Descubra como funcionam Closures em JavaScript\" width=\"460\" height=\"153\" \/><\/a><\/p>\n<h1 style=\"text-align: center;\"><span style=\"font-size: 12pt;\">Seja um especialista em Javascript aprendendo no melhor centro de ensino tecnol\u00f3gico<\/span><\/h1>\n<p style=\"text-align: justify;\">No<a title=\"Seja em especialista em JavaScript\" href=\"https:\/\/www.impacta.com.br\/curso\/JavaScript.php\" target=\"_blank\" rel=\"noopener noreferrer\"> curso de JavaScript da Impacta<\/a> voc\u00ea\u00a0aprende os conceitos e t\u00e9cnicas b\u00e1sicas de utiliza\u00e7\u00e3o do JavaScript para o desenvolvimento de sites mais atrativos e efetivos. Vendo\u00a0na\u00a0pr\u00e1tica, voc\u00ea conhece os principais recursos da linguagem e como sua integra\u00e7\u00e3o com HTML oferece melhores op\u00e7\u00f5es de arquitetura de informa\u00e7\u00e3o e, consequentemente, um resultado melhor junto ao usu\u00e1rio.<\/p>\n<div class=\"sharing-default-minimal post-bottom\"><div class=\"nectar-social default\" data-position=\"\" data-rm-love=\"0\" data-color-override=\"override\"><div class=\"nectar-social-inner\"><a href=\"#\" class=\"nectar-love\" id=\"nectar-love-6805\" title=\"Love this\"> <i class=\"icon-salient-heart-2\"><\/i><span class=\"love-text\">Love<\/span><span class=\"total_loves\"><span class=\"nectar-love-count\">0<\/span><\/span><\/a><a class='facebook-share nectar-sharing' href='#' title='Share this'> <i class='fa fa-facebook'><\/i> <span class='social-text'>Share<\/span> <\/a><a class='twitter-share nectar-sharing' href='#' title='Share this'> <i class='fa icon-salient-x-twitter'><\/i> <span class='social-text'>Share<\/span> <\/a><a class='linkedin-share nectar-sharing' href='#' title='Share this'> <i class='fa fa-linkedin'><\/i> <span class='social-text'>Share<\/span> <\/a><a class='pinterest-share nectar-sharing' href='#' title='Pin this'> <i class='fa fa-pinterest'><\/i> <span class='social-text'>Pin<\/span> <\/a><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>As\u00a0closures em JavaScript\u00a0permitem que programadores escrevam melhor, de modo mais conciso e expressivo. Mas voc\u00ea sabe o que, de fato, elas s\u00e3o? Ter um conhecimento sobre closures e como utiliza-las \u00e9 um passo importante para compreender mais ainda a linguagem de programa\u00e7\u00e3o JavaScript. Uma closure \u00e9 uma fun\u00e7\u00e3o interna que possui acesso a (refer\u00eancia) vari\u00e1veis [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":17479,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[356,357,57],"class_list":["post-6805","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento","tag-closure","tag-desenvolvimento-em-javascript","tag-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Como funcionam as Closures em JavaScript?<\/title>\r\n<meta name=\"description\" content=\"Voc\u00ea sabe o que s\u00e3o e como funcionam as Closures em JavaScript? N\u00e3o se preocupe, pois nesse artigo a gente mostra tudo para voc\u00ea.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/\" \/>\r\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Como funcionam as Closures em JavaScript?\" \/>\r\n<meta property=\"og:description\" content=\"Voc\u00ea sabe o que s\u00e3o e como funcionam as Closures em JavaScript? N\u00e3o se preocupe, pois nesse artigo a gente mostra tudo para voc\u00ea.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Blog Impacta - Dicas e Not\u00edcias sobre Carreira\" \/>\r\n<meta property=\"article:published_time\" content=\"2015-05-16T21:30:16+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/header_javascript.jpg\" \/>\r\n\t<meta property=\"og:image:width\" content=\"850\" \/>\r\n\t<meta property=\"og:image:height\" content=\"283\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\r\n<meta name=\"author\" content=\"Reda\u00e7\u00e3o Impacta\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Reda\u00e7\u00e3o Impacta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/\",\"url\":\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/\",\"name\":\"Como funcionam as Closures em JavaScript?\",\"isPartOf\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/header_javascript.jpg\",\"datePublished\":\"2015-05-16T21:30:16+00:00\",\"author\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/2e0896bac7656da15b68f5ad2ddd0d8c\"},\"description\":\"Voc\u00ea sabe o que s\u00e3o e como funcionam as Closures em JavaScript? N\u00e3o se preocupe, pois nesse artigo a gente mostra tudo para voc\u00ea.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#primaryimage\",\"url\":\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/header_javascript.jpg\",\"contentUrl\":\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/header_javascript.jpg\",\"width\":850,\"height\":283},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.impacta.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como funcionam as Closures em JavaScript?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#website\",\"url\":\"https:\/\/www.impacta.com.br\/blog\/\",\"name\":\"Blog Impacta - Dicas e Not\u00edcias sobre Carreira\",\"description\":\"Dicas, Not\u00edcias e Conte\u00fados sobre Carreira, Tecnologia, Design, Gest\u00e3o e Marketing. Conhe\u00e7a e Acompanhe o Blog Impacta\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.impacta.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/2e0896bac7656da15b68f5ad2ddd0d8c\",\"name\":\"Reda\u00e7\u00e3o Impacta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7443a59e479c8f31067628e3a4bed9ad?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7443a59e479c8f31067628e3a4bed9ad?s=96&d=mm&r=g\",\"caption\":\"Reda\u00e7\u00e3o Impacta\"},\"url\":\"https:\/\/www.impacta.com.br\/blog\/author\/redacao\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Como funcionam as Closures em JavaScript?","description":"Voc\u00ea sabe o que s\u00e3o e como funcionam as Closures em JavaScript? N\u00e3o se preocupe, pois nesse artigo a gente mostra tudo para voc\u00ea.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/","og_locale":"pt_BR","og_type":"article","og_title":"Como funcionam as Closures em JavaScript?","og_description":"Voc\u00ea sabe o que s\u00e3o e como funcionam as Closures em JavaScript? N\u00e3o se preocupe, pois nesse artigo a gente mostra tudo para voc\u00ea.","og_url":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/","og_site_name":"Blog Impacta - Dicas e Not\u00edcias sobre Carreira","article_published_time":"2015-05-16T21:30:16+00:00","og_image":[{"width":850,"height":283,"url":"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/header_javascript.jpg","type":"image\/jpeg"}],"author":"Reda\u00e7\u00e3o Impacta","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Reda\u00e7\u00e3o Impacta","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/","url":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/","name":"Como funcionam as Closures em JavaScript?","isPartOf":{"@id":"https:\/\/www.impacta.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/header_javascript.jpg","datePublished":"2015-05-16T21:30:16+00:00","author":{"@id":"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/2e0896bac7656da15b68f5ad2ddd0d8c"},"description":"Voc\u00ea sabe o que s\u00e3o e como funcionam as Closures em JavaScript? N\u00e3o se preocupe, pois nesse artigo a gente mostra tudo para voc\u00ea.","breadcrumb":{"@id":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#primaryimage","url":"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/header_javascript.jpg","contentUrl":"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/header_javascript.jpg","width":850,"height":283},{"@type":"BreadcrumbList","@id":"https:\/\/www.impacta.com.br\/blog\/como-funcionam-closures-em-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.impacta.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Como funcionam as Closures em JavaScript?"}]},{"@type":"WebSite","@id":"https:\/\/www.impacta.com.br\/blog\/#website","url":"https:\/\/www.impacta.com.br\/blog\/","name":"Blog Impacta - Dicas e Not\u00edcias sobre Carreira","description":"Dicas, Not\u00edcias e Conte\u00fados sobre Carreira, Tecnologia, Design, Gest\u00e3o e Marketing. Conhe\u00e7a e Acompanhe o Blog Impacta","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.impacta.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/2e0896bac7656da15b68f5ad2ddd0d8c","name":"Reda\u00e7\u00e3o Impacta","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7443a59e479c8f31067628e3a4bed9ad?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7443a59e479c8f31067628e3a4bed9ad?s=96&d=mm&r=g","caption":"Reda\u00e7\u00e3o Impacta"},"url":"https:\/\/www.impacta.com.br\/blog\/author\/redacao\/"}]}},"acf":{"post_description":null,"capa_mobile":null},"_links":{"self":[{"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/posts\/6805","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/comments?post=6805"}],"version-history":[{"count":0,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/posts\/6805\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/media\/17479"}],"wp:attachment":[{"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/media?parent=6805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/categories?post=6805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/tags?post=6805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}