{"id":1791,"date":"2025-07-19T22:56:58","date_gmt":"2025-07-20T01:56:58","guid":{"rendered":"https:\/\/desvendandoocodigo.com.br\/?p=1791"},"modified":"2026-08-06T12:53:43","modified_gmt":"2026-08-06T15:53:43","slug":"encapsulamento-com-javascript-entendendo-o-conceito-na-pratica","status":"publish","type":"post","link":"https:\/\/desvendandoocodigo.com.br\/?p=1791","title":{"rendered":"Encapsulamento em JavaScript na Pr\u00e1tica | Criando um Painel de Carro com Classes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Publicado em:<\/strong> 19 de julho de 2025<br><strong>Atualizado em:<\/strong> <strong>06 de agosto de 2026<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Encapsulamento em JavaScript na Pr\u00e1tica<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Quando come\u00e7amos a estudar <strong>Programa\u00e7\u00e3o Orientada a Objetos (POO)<\/strong>, um dos primeiros conceitos apresentados \u00e9 o <strong>encapsulamento<\/strong>. Entretanto, muitos exemplos utilizam contas banc\u00e1rias, cadastro de pessoas ou funcion\u00e1rios, o que acaba tornando o aprendizado bastante abstrato para quem est\u00e1 iniciando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Neste artigo vamos aprender <strong>Encapsulamento em JavaScript<\/strong> desenvolvendo um <strong>Painel de Carro<\/strong> totalmente funcional.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Durante o projeto criaremos uma classe respons\u00e1vel por controlar velocidade, combust\u00edvel e estado do motor utilizando <strong>atributos privados (#)<\/strong>, <strong>m\u00e9todos<\/strong>, <strong>getters<\/strong> e manipula\u00e7\u00e3o do DOM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao final voc\u00ea entender\u00e1 n\u00e3o apenas o conceito de encapsulamento, mas tamb\u00e9m como ele \u00e9 utilizado em aplica\u00e7\u00f5es reais.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Projeto desenvolvido:<\/strong> Painel de Carro utilizando HTML, CSS e JavaScript.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><em>(Inserir imagem do projeto aqui)<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">O que \u00e9 Encapsulamento?<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Encapsulamento \u00e9 um dos pilares da Programa\u00e7\u00e3o Orientada a Objetos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seu principal objetivo \u00e9 <strong>proteger os dados internos de um objeto<\/strong>, impedindo que qualquer parte do sistema altere essas informa\u00e7\u00f5es diretamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imagine um carro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Faz sentido qualquer pessoa conseguir executar um c\u00f3digo como este?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>carro.velocidade = 500;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ou ent\u00e3o:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>carro.combustivel = -20;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Obviamente n\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esses valores precisam ser controlados pela pr\u00f3pria classe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 exatamente isso que o encapsulamento faz.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Como funciona o encapsulamento no JavaScript?<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">No JavaScript moderno podemos criar <strong>atributos privados<\/strong> utilizando o s\u00edmbolo <strong>#<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Carro {\n\n  #velocidade;\n\n  #combustivel;\n\n  #motorLigado;\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esses atributos s\u00f3 podem ser utilizados dentro da pr\u00f3pria classe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Caso tentemos acessar diretamente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>carro.#velocidade<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">O JavaScript gera um erro, impedindo o acesso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isso aumenta a seguran\u00e7a e evita altera\u00e7\u00f5es indevidas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Criando nossa classe Carro<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">O primeiro passo foi criar a classe respons\u00e1vel por controlar todas as informa\u00e7\u00f5es do ve\u00edculo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Carro {\n\n  #velocidade;\n\n  #combustivel;\n\n  #motorLigado;\n\n  constructor() {\n\n    this.#velocidade = 0;\n\n    this.#combustivel = 100;\n\n    this.#motorLigado = false;\n\n  }\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">O <strong>constructor<\/strong> inicializa os atributos quando um novo objeto \u00e9 criado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Assim, sempre que instanciarmos um carro, ele come\u00e7ar\u00e1 parado, com o tanque cheio e o motor desligado.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Ligando o motor<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">O m\u00e9todo respons\u00e1vel por ligar o motor realiza algumas valida\u00e7\u00f5es antes de alterar o estado do ve\u00edculo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ele verifica, por exemplo, se o motor j\u00e1 est\u00e1 ligado ou se existe combust\u00edvel suficiente para dar partida.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ligarMotor() {\n\n   ...\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dessa forma, quem utiliza a classe n\u00e3o precisa conhecer essas regras.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Basta chamar o m\u00e9todo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Acelerando o carro<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">O m\u00e9todo <strong>acelerar()<\/strong> \u00e9 um excelente exemplo de encapsulamento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al\u00e9m de aumentar a velocidade, ele tamb\u00e9m:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>verifica se o motor est\u00e1 ligado;<\/li>\n\n\n\n<li>impede ultrapassar a velocidade m\u00e1xima;<\/li>\n\n\n\n<li>reduz o combust\u00edvel automaticamente;<\/li>\n\n\n\n<li>impede acelerar quando o tanque est\u00e1 vazio.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Todas essas regras ficam protegidas dentro da classe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quem utiliza o objeto apenas executa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>carro.acelerar();<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sem precisar manipular diretamente os atributos privados.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Freando o ve\u00edculo<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Da mesma forma, o m\u00e9todo <strong>frear()<\/strong> controla a redu\u00e7\u00e3o da velocidade.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ele impede que a velocidade fique negativa, mantendo os dados sempre consistentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse \u00e9 outro exemplo de como o encapsulamento protege o estado interno do objeto.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Utilizando Getters<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Os atributos privados n\u00e3o podem ser acessados diretamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por isso utilizamos <strong>Getters<\/strong>, permitindo apenas a leitura dessas informa\u00e7\u00f5es.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>get velocidade() {\n\n    return this.#velocidade;\n\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Assim conseguimos mostrar os dados no painel sem permitir altera\u00e7\u00f5es externas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Atualizando a Interface<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Depois de criar a classe, conectamos o objeto ao HTML utilizando JavaScript.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Durante o projeto utilizamos recursos como:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>querySelector()<\/li>\n\n\n\n<li>addEventListener()<\/li>\n\n\n\n<li>innerText<\/li>\n\n\n\n<li>style.width<\/li>\n\n\n\n<li>disabled<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Esses recursos permitem atualizar automaticamente o painel sempre que o estado do carro muda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>(Inserir imagem do painel funcionando)<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Resultado Final<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Ao final do projeto desenvolvemos um painel completo capaz de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ligar o motor;<\/li>\n\n\n\n<li>Desligar o motor;<\/li>\n\n\n\n<li>Acelerar;<\/li>\n\n\n\n<li>Frear;<\/li>\n\n\n\n<li>Controlar combust\u00edvel;<\/li>\n\n\n\n<li>Atualizar a barra de velocidade;<\/li>\n\n\n\n<li>Mostrar mensagens ao usu\u00e1rio;<\/li>\n\n\n\n<li>Aplicar encapsulamento utilizando atributos privados.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em>(Inserir imagem final do projeto)<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Por que utilizar Encapsulamento?<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Al\u00e9m de organizar melhor o c\u00f3digo, o encapsulamento oferece diversas vantagens.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Sem Encapsulamento<\/th><th>Com Encapsulamento<\/th><\/tr><\/thead><tbody><tr><td>Qualquer c\u00f3digo altera os atributos<\/td><td>Apenas m\u00e9todos controlam os dados<\/td><\/tr><tr><td>Maior chance de erros<\/td><td>Dados protegidos<\/td><\/tr><tr><td>Dif\u00edcil manuten\u00e7\u00e3o<\/td><td>C\u00f3digo mais organizado<\/td><\/tr><tr><td>Regras espalhadas pelo sistema<\/td><td>Regras centralizadas na classe<\/td><\/tr><tr><td>Baixa reutiliza\u00e7\u00e3o<\/td><td>Objetos reutiliz\u00e1veis<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Em projetos maiores, essa organiza\u00e7\u00e3o facilita muito a manuten\u00e7\u00e3o e reduz a quantidade de erros.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Projeto Completo<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Encapsulamento em JavaScript | Crie um Painel de Carro com Classes e Atributos Privados\" width=\"960\" height=\"720\" src=\"https:\/\/www.youtube.com\/embed\/0VBGX2VW5UU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Conclus\u00e3o<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Neste projeto vimos que <strong>encapsulamento n\u00e3o significa apenas esconder atributos<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na pr\u00e1tica, encapsular significa proteger o estado interno de um objeto e permitir que ele seja alterado apenas atrav\u00e9s de m\u00e9todos que seguem regras bem definidas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizando um projeto real, ficou muito mais f\u00e1cil compreender como Classes, Atributos Privados, M\u00e9todos e Getters trabalham juntos para criar aplica\u00e7\u00f5es mais organizadas, seguras e f\u00e1ceis de manter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea est\u00e1 aprendendo <strong>Programa\u00e7\u00e3o Orientada a Objetos com JavaScript<\/strong>, dominar o encapsulamento \u00e9 um passo fundamental para desenvolver sistemas mais profissionais.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Continue aprendendo JavaScript<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se este conte\u00fado ajudou voc\u00ea, acompanhe o <strong>Desvendando o C\u00f3digo<\/strong> no YouTube para assistir a mais projetos completos de JavaScript, Node.js, React e Desenvolvimento Web, sempre com foco em projetos pr\u00e1ticos e aplica\u00e7\u00f5es do mundo real.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Publicado em: 19 de julho de 2025Atualizado em: 06 de agosto de 2026 Encapsulamento em JavaScript na Pr\u00e1tica Quando come\u00e7amos a estudar Programa\u00e7\u00e3o Orientada a Objetos (POO), um dos primeiros conceitos apresentados \u00e9 o encapsulamento. Entretanto, muitos exemplos utilizam contas banc\u00e1rias, cadastro de pessoas ou funcion\u00e1rios, o que acaba tornando o aprendizado bastante abstrato para quem est\u00e1 iniciando. Neste artigo vamos aprender Encapsulamento em JavaScript desenvolvendo um Painel de Carro totalmente funcional. Durante o projeto criaremos uma classe respons\u00e1vel por controlar velocidade, combust\u00edvel e estado do motor utilizando atributos privados (#), m\u00e9todos, getters e manipula\u00e7\u00e3o do DOM. Ao final voc\u00ea entender\u00e1 n\u00e3o apenas o conceito de encapsulamento, mas tamb\u00e9m como ele \u00e9 utilizado em aplica\u00e7\u00f5es reais. Projeto desenvolvido: Painel de Carro utilizando HTML, CSS e JavaScript. (Inserir imagem do projeto aqui) O que \u00e9 Encapsulamento? Encapsulamento \u00e9 um dos pilares da Programa\u00e7\u00e3o Orientada a Objetos. Seu principal objetivo \u00e9 proteger os dados internos de um objeto, impedindo que qualquer parte do sistema altere essas informa\u00e7\u00f5es diretamente. Imagine um carro. Faz sentido qualquer pessoa conseguir executar um c\u00f3digo como este? Ou ent\u00e3o: Obviamente n\u00e3o. Esses valores precisam ser controlados pela pr\u00f3pria classe. \u00c9 exatamente isso que o encapsulamento faz. Como funciona o encapsulamento no JavaScript? No JavaScript moderno podemos criar atributos privados utilizando o s\u00edmbolo #. Esses atributos s\u00f3 podem ser utilizados dentro da pr\u00f3pria classe. Caso tentemos acessar diretamente: O JavaScript gera um erro, impedindo o acesso. Isso aumenta a seguran\u00e7a e evita altera\u00e7\u00f5es indevidas. Criando nossa classe Carro O primeiro passo foi criar a classe respons\u00e1vel por controlar todas as informa\u00e7\u00f5es do ve\u00edculo. O constructor inicializa os atributos quando um novo objeto \u00e9 criado. Assim, sempre que instanciarmos um carro, ele come\u00e7ar\u00e1 parado, com o tanque cheio e o motor desligado. Ligando o motor O m\u00e9todo respons\u00e1vel por ligar o motor realiza algumas valida\u00e7\u00f5es antes de alterar o estado do ve\u00edculo. Ele verifica, por exemplo, se o motor j\u00e1 est\u00e1 ligado ou se existe combust\u00edvel suficiente para dar partida. Dessa forma, quem utiliza a classe n\u00e3o precisa conhecer essas regras. Basta chamar o m\u00e9todo. Acelerando o carro O m\u00e9todo acelerar() \u00e9 um excelente exemplo de encapsulamento. Al\u00e9m de aumentar a velocidade, ele tamb\u00e9m: Todas essas regras ficam protegidas dentro da classe. Quem utiliza o objeto apenas executa: Sem precisar manipular diretamente os atributos privados. Freando o ve\u00edculo Da mesma forma, o m\u00e9todo frear() controla a redu\u00e7\u00e3o da velocidade. Ele impede que a velocidade fique negativa, mantendo os dados sempre consistentes. Esse \u00e9 outro exemplo de como o encapsulamento protege o estado interno do objeto. Utilizando Getters Os atributos privados n\u00e3o podem ser acessados diretamente. Por isso utilizamos Getters, permitindo apenas a leitura dessas informa\u00e7\u00f5es. Assim conseguimos mostrar os dados no painel sem permitir altera\u00e7\u00f5es externas. Atualizando a Interface Depois de criar a classe, conectamos o objeto ao HTML utilizando JavaScript. Durante o projeto utilizamos recursos como: Esses recursos permitem atualizar automaticamente o painel sempre que o estado do carro muda. (Inserir imagem do painel funcionando) Resultado Final Ao final do projeto desenvolvemos um painel completo capaz de: (Inserir imagem final do projeto) Por que utilizar Encapsulamento? Al\u00e9m de organizar melhor o c\u00f3digo, o encapsulamento oferece diversas vantagens. Sem Encapsulamento Com Encapsulamento Qualquer c\u00f3digo altera os atributos Apenas m\u00e9todos controlam os dados Maior chance de erros Dados protegidos Dif\u00edcil manuten\u00e7\u00e3o C\u00f3digo mais organizado Regras espalhadas pelo sistema Regras centralizadas na classe Baixa reutiliza\u00e7\u00e3o Objetos reutiliz\u00e1veis Em projetos maiores, essa organiza\u00e7\u00e3o facilita muito a manuten\u00e7\u00e3o e reduz a quantidade de erros. Projeto Completo Conclus\u00e3o Neste projeto vimos que encapsulamento n\u00e3o significa apenas esconder atributos. Na pr\u00e1tica, encapsular significa proteger o estado interno de um objeto e permitir que ele seja alterado apenas atrav\u00e9s de m\u00e9todos que seguem regras bem definidas. Utilizando um projeto real, ficou muito mais f\u00e1cil compreender como Classes, Atributos Privados, M\u00e9todos e Getters trabalham juntos para criar aplica\u00e7\u00f5es mais organizadas, seguras e f\u00e1ceis de manter. Se voc\u00ea est\u00e1 aprendendo Programa\u00e7\u00e3o Orientada a Objetos com JavaScript, dominar o encapsulamento \u00e9 um passo fundamental para desenvolver sistemas mais profissionais. Continue aprendendo JavaScript Se este conte\u00fado ajudou voc\u00ea, acompanhe o Desvendando o C\u00f3digo no YouTube para assistir a mais projetos completos de JavaScript, Node.js, React e Desenvolvimento Web, sempre com foco em projetos pr\u00e1ticos e aplica\u00e7\u00f5es do mundo real.<\/p>\n","protected":false},"author":1,"featured_media":2285,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1791","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1791","targetHints":{"allow":["GET"]}}],"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=1791"}],"version-history":[{"count":5,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1791\/revisions"}],"predecessor-version":[{"id":2288,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1791\/revisions\/2288"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/media\/2285"}],"wp:attachment":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}