{"id":440,"date":"2018-06-03T14:28:00","date_gmt":"2018-06-03T17:28:00","guid":{"rendered":"https:\/\/cahfelix.tech\/blog\/?p=440"},"modified":"2025-10-30T14:38:12","modified_gmt":"2025-10-30T17:38:12","slug":"javascript-es2017-aprenda-object-keys-object-values-e-object-entries","status":"publish","type":"post","link":"https:\/\/cahfelix.tech\/blog\/javascript-es2017-aprenda-object-keys-object-values-e-object-entries\/","title":{"rendered":"JavaScript ES2017: Aprenda Object.keys, Object.values e Object.entries"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Objetos no JavaScript<\/h3>\n\n\n\n<p>Um <strong>objeto<\/strong> nada mais \u00e9 do que uma cole\u00e7\u00e3o de dados armazenados em pares de <strong>chave<\/strong> e <strong>valor<\/strong>.<\/p>\n\n\n\n<p>Com o <strong>ES2017 (ES8)<\/strong>, o objeto global <code>Object<\/code> ganhou dois novos m\u00e9todos super \u00fateis: <code>Object.values()<\/code> e <code>Object.entries()<\/code>. Vamos aproveitar para relembrar tamb\u00e9m o <code>Object.keys()<\/code>, que j\u00e1 existia antes.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplo pr\u00e1tico<\/h3>\n\n\n\n<p>Vamos criar um objeto simples com informa\u00e7\u00f5es sobre uma pessoa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const pessoa = {\n  nome: 'Cah',\n  idade: 31,\n  sexo: 'feminino'\n}<\/code><\/pre>\n\n\n\n<p>Nesse exemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>nome<\/code>, <code>idade<\/code> e <code>sexo<\/code> s\u00e3o as <strong>chaves<\/strong><\/li>\n\n\n\n<li><code>'Cah'<\/code>, <code>31<\/code> e <code>'feminino'<\/code> s\u00e3o os <strong>valores<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Agora, vamos brincar um pouco com esse objeto. Bora l\u00e1? \ud83d\ude42<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Object.keys()<\/h3>\n\n\n\n<p>O m\u00e9todo <code>Object.keys()<\/code> retorna todas as <strong>chaves<\/strong> de um objeto.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Object.keys(pessoa);\n\/\/ &#91; 'nome', 'idade', 'sexo' ]<\/code><\/pre>\n\n\n\n<p>Esse m\u00e9todo \u00e9 \u00f3timo para iterar sobre propriedades de um objeto ou transformar suas chaves em um array.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Object.values()<\/h3>\n\n\n\n<p>J\u00e1 o m\u00e9todo <code>Object.values()<\/code> retorna todos os <strong>valores<\/strong> do objeto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Object.values(pessoa);\n\/\/ &#91; 'Cah', 31, 'feminino' ]<\/code><\/pre>\n\n\n\n<p>Perfeito para quando voc\u00ea s\u00f3 precisa acessar os dados sem se preocupar com as chaves.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Object.entries()<\/h3>\n\n\n\n<p>E se a gente quiser ambos \u2014 chaves <strong>e<\/strong> valores?<br>O <code>Object.entries()<\/code> retorna um array de pares <code>[chave, valor]<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Object.entries(pessoa);\n\/\/ &#91; &#91; 'nome', 'Cah' ], &#91; 'idade', 31 ], &#91; 'sexo', 'feminino' ] ]<\/code><\/pre>\n\n\n\n<p>Esse formato \u00e9 excelente para usar com m\u00e9todos de array, como <code>map()<\/code> ou <code>forEach()<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Beijos, at\u00e9 a pr\u00f3xima \ud83d\ude09<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Objetos no JavaScript Um objeto nada mais \u00e9 do que uma cole\u00e7\u00e3o de dados armazenados em pares de chave e valor. Com o ES2017 (ES8), o objeto global Object ganhou&#8230;<\/p>\n","protected":false},"author":1,"featured_media":442,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[42],"class_list":["post-440","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engenharia-de-software","tag-javascript"],"aioseo_notices":[],"featured":false,"read_time":2,"_links":{"self":[{"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/posts\/440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/comments?post=440"}],"version-history":[{"count":4,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/posts\/440\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/posts\/440\/revisions\/446"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/media\/442"}],"wp:attachment":[{"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/media?parent=440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/categories?post=440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/tags?post=440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}