{"id":114735,"date":"2023-08-01T13:28:48","date_gmt":"2023-08-01T16:28:48","guid":{"rendered":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/"},"modified":"2023-08-01T13:28:48","modified_gmt":"2023-08-01T16:28:48","slug":"javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript","status":"publish","type":"post","link":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/","title":{"rendered":"JavaScript Undefined: Entendendo o valor indefinido (undefined) em JavaScript"},"content":{"rendered":"<p><body><\/p>\n<h1>O que \u00e9 JavaScript Undefined?<\/h1>\n<h2>JavaScript \u00e9 uma linguagem de programa\u00e7\u00e3o amplamente utilizada para desenvolvimento web<\/h2>\n<p>Ela permite a cria\u00e7\u00e3o de aplica\u00e7\u00f5es din\u00e2micas e interativas que rodam no lado do cliente, ou seja, diretamente no navegador do usu\u00e1rio. Ao programar em JavaScript, \u00e9 comum nos depararmos com o valor indefinido (undefined), que pode gerar algumas d\u00favidas e confus\u00f5es.<\/p>\n<h2>O valor &#8220;undefined&#8221; em JavaScript representa uma vari\u00e1vel que foi declarada, mas n\u00e3o recebeu nenhum valor.<\/h2>\n<p>\u00c9 como se a vari\u00e1vel existisse, mas ainda n\u00e3o tivesse um conte\u00fado definido. Quando uma vari\u00e1vel \u00e9 criada sem atribuir um valor a ela, o JavaScript automaticamente atribui o valor &#8220;undefined&#8221;.<\/p>\n<h2>Esse valor \u00e9 diferente de um objeto nulo (null)<\/h2>\n<p>O &#8220;undefined&#8221; indica explicitamente que a vari\u00e1vel n\u00e3o possui um valor atribu\u00eddo, enquanto o &#8220;null&#8221; \u00e9 utilizado para indicar a aus\u00eancia ou a invalida\u00e7\u00e3o de um objeto.<\/p>\n<h2>Como o valor indefinido (undefined) \u00e9 gerado em JavaScript?<\/h2>\n<p>Existem algumas situa\u00e7\u00f5es em que o valor &#8220;undefined&#8221; \u00e9 gerado naturalmente em JavaScript. Vamos explorar alguns cen\u00e1rios comuns:<\/p>\n<h3>1. Declarando uma vari\u00e1vel sem atribuir valor:<\/h3>\n<ul>\n<li>Ao declarar uma vari\u00e1vel sem atribuir um valor, o JavaScript automaticamente a inicializa como &#8220;undefined&#8221;. Por exemplo:<\/li>\n<pre><code>let nome; \n        console.log(nome); \/\/ undefined<\/code><\/pre>\n<\/ul>\n<h3>2. Acessando uma propriedade inexistente de um objeto:<\/h3>\n<ul>\n<li>Se tentarmos acessar uma propriedade que n\u00e3o existe em um objeto, o resultado ser\u00e1 &#8220;undefined&#8221;. Por exemplo:<\/li>\n<pre><code>const pessoa = { nome: \"Jo\u00e3o\", idade: 30 };\n        console.log(pessoa.endereco); \/\/ undefined<\/code><\/pre>\n<\/ul>\n<h3>3. Utilizando um argumento que n\u00e3o foi passado para uma fun\u00e7\u00e3o:<\/h3>\n<ul>\n<li>Quando uma fun\u00e7\u00e3o \u00e9 chamada sem todos os argumentos necess\u00e1rios, os argumentos ausentes s\u00e3o automaticamente definidos como &#8220;undefined&#8221;. Por exemplo:<\/li>\n<pre><code>function somar(a, b) {\n            console.log(a + b);\n        }\n        somar(5); \/\/ undefined + 5 = NaN<\/code><\/pre>\n<\/ul>\n<h2>Como lidar com o valor indefinido em JavaScript?<\/h2>\n<p>Ao trabalhar com o valor &#8220;undefined&#8221; em JavaScript, \u00e9 importante lidar com ele de forma adequada para evitar erros e comportamentos inesperados em seu c\u00f3digo. Abaixo est\u00e3o algumas abordagens comumente utilizadas:<\/p>\n<h3>1. Verificar se uma vari\u00e1vel \u00e9 undefined:<\/h3>\n<ul>\n<li>Para verificar se uma vari\u00e1vel \u00e9 undefined, podemos utilizar o operador de igualdade estrita (===) em conjunto com a palavra-chave &#8220;undefined&#8221;. Por exemplo:<\/li>\n<pre><code>let nome;\n        if (nome === undefined) {\n            console.log(\"A vari\u00e1vel nome \u00e9 undefined\");\n        }<\/code><\/pre>\n<\/ul>\n<h3>2. Atribuir um valor padr\u00e3o:<\/h3>\n<ul>\n<li>Em alguns casos, podemos querer atribuir um valor padr\u00e3o a uma vari\u00e1vel caso ela seja undefined. Podemos fazer isso utilizando o operador de coalesc\u00eancia nula (??) ou o operador condicional tern\u00e1rio. Por exemplo:<\/li>\n<pre><code>let nome;\n        console.log(nome ?? \"Nome n\u00e3o definido\"); \/\/ Nome n\u00e3o definido\n\n        let idade;\n        console.log(idade !== undefined ? idade : \"Idade n\u00e3o definida\"); \/\/ Idade n\u00e3o definida<\/code><\/pre>\n<\/ul>\n<h2>Exemplos pr\u00e1ticos de JavaScript Undefined:<\/h2>\n<p>Agora que entendemos o conceito de valor indefinido (undefined) em JavaScript e como lidar com ele, vamos ver alguns exemplos pr\u00e1ticos que ilustram sua utiliza\u00e7\u00e3o:<\/p>\n<h3>1. Verificando se uma propriedade existe em um objeto:<\/h3>\n<pre><code>const pessoa = { nome: \"Maria\", idade: 25 };\n    if (pessoa.endereco === undefined) {\n        console.log(\"Endere\u00e7o n\u00e3o definido\");\n    }<\/code><\/pre>\n<h3>2. Identificando se uma fun\u00e7\u00e3o retornou algum valor:<\/h3>\n<pre><code>function calcularArea(largura, altura) {\n        const area = largura * altura;\n        if (area === undefined) {\n            console.log(\"Erro ao calcular \u00e1rea\");\n        } else {\n            console.log(`\u00c1rea: ${area}`);\n        }\n    }\n    calcularArea(5, 10); \/\/ \u00c1rea: 50\n    calcularArea(3); \/\/ Erro ao calcular \u00e1rea<\/code><\/pre>\n<h3>3. Verificando se um elemento existe em um array:<\/h3>\n<pre><code>const frutas = [\"ma\u00e7\u00e3\", \"banana\", \"laranja\"];\n    if (frutas[3] === undefined) {\n        console.log(\"Elemento n\u00e3o definido\");\n    }<\/code><\/pre>\n<p>Em resumo, entender o valor indefinido (undefined) em JavaScript \u00e9 fundamental para escrever um c\u00f3digo robusto e evitar erros. Atrav\u00e9s das pr\u00e1ticas e exemplos mencionados anteriormente, voc\u00ea poder\u00e1 lidar de forma adequada com esse tipo de valor e garantir o correto funcionamento de suas aplica\u00e7\u00f5es.<\/p>\n<h2>A Awari \u00e9 a melhor plataforma para aprender sobre programa\u00e7\u00e3o no Brasil.<\/h2>\n<p>Aqui voc\u00ea encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu pr\u00f3ximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.<\/p>\n<p>J\u00e1 pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? <a href=\"https:\/\/app.fluency.io\/br\/blog\/candidatura?&#038;utm_source=blog&#038;utm_campaign=paragrafofinal\" target=\"_blank\" rel=\"noopener\">Clique aqui<\/a> para se inscrever na Awari e come\u00e7ar a construir agora mesmo o pr\u00f3ximo cap\u00edtulo da sua carreira em dados.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O artigo &#8220;JavaScript Undefined: como lidar com esse valor em seu c\u00f3digo&#8221; explora o conceito de &#8220;javascript undefined&#8221; e d\u00e1 exemplos de como esse valor pode ser gerado em JavaScript. Tamb\u00e9m oferece estrat\u00e9gias para lidar com esse valor, como verificar se uma vari\u00e1vel \u00e9 undefined e atribuir um valor padr\u00e3o. O artigo tamb\u00e9m apresenta exemplos pr\u00e1ticos de como o valor undefined pode ser utilizado em situa\u00e7\u00f5es reais, como verificar se uma propriedade existe em um objeto ou lidar com valores de retorno de fun\u00e7\u00f5es. No geral, o artigo oferece uma vis\u00e3o abrangente sobre o assunto e fornece informa\u00e7\u00f5es \u00fateis para programadores que desejam entender e lidar com o valor undefined em JavaScript.<\/p>\n","protected":false},"author":9,"featured_media":27854,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":[186],"meta":{"inline_featured_image":false,"footnotes":""},"categories":[229],"tags":[],"trilha":[],"class_list":["post-114735","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-skills","format-artigos"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JavaScript Undefined: Entendendo o valor indefinido (undefined) em JavaScript - Fluency.io Brasil<\/title>\n<meta name=\"description\" content=\"O artigo &quot;JavaScript Undefined: como lidar com esse valor em seu c\u00f3digo&quot; explora o conceito de &quot;javascript undefined&quot; e d\u00e1 exemplos de como esse valor pode...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript Undefined: Entendendo o valor indefinido (undefined) em JavaScript - Fluency.io Brasil\" \/>\n<meta property=\"og:description\" content=\"O artigo &quot;JavaScript Undefined: como lidar com esse valor em seu c\u00f3digo&quot; explora o conceito de &quot;javascript undefined&quot; e d\u00e1 exemplos de como esse valor pode...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Fluency.io Brasil\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-01T16:28:48+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"kaue\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/\",\"url\":\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/\",\"name\":\"JavaScript Undefined: Entendendo o valor indefinido (undefined) em JavaScript - Fluency.io Brasil\",\"isPartOf\":{\"@id\":\"https:\/\/fluency.io\/br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2023-08-01T16:28:48+00:00\",\"author\":{\"@id\":\"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a\"},\"description\":\"O artigo \\\"JavaScript Undefined: como lidar com esse valor em seu c\u00f3digo\\\" explora o conceito de \\\"javascript undefined\\\" e d\u00e1 exemplos de como esse valor pode...\",\"breadcrumb\":{\"@id\":\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\",\"width\":1027,\"height\":420},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fluency.io\/br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript Undefined: Entendendo o valor indefinido (undefined) em JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fluency.io\/br\/#website\",\"url\":\"https:\/\/fluency.io\/br\/\",\"name\":\"Fluency.io Brasil\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fluency.io\/br\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a\",\"name\":\"kaue\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/fluency.io\/br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g\",\"caption\":\"kaue\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript Undefined: Entendendo o valor indefinido (undefined) em JavaScript - Fluency.io Brasil","description":"O artigo \"JavaScript Undefined: como lidar com esse valor em seu c\u00f3digo\" explora o conceito de \"javascript undefined\" e d\u00e1 exemplos de como esse valor pode...","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:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/","og_locale":"pt_BR","og_type":"article","og_title":"JavaScript Undefined: Entendendo o valor indefinido (undefined) em JavaScript - Fluency.io Brasil","og_description":"O artigo \"JavaScript Undefined: como lidar com esse valor em seu c\u00f3digo\" explora o conceito de \"javascript undefined\" e d\u00e1 exemplos de como esse valor pode...","og_url":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/","og_site_name":"Fluency.io Brasil","article_published_time":"2023-08-01T16:28:48+00:00","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"kaue","Est. tempo de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/","url":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/","name":"JavaScript Undefined: Entendendo o valor indefinido (undefined) em JavaScript - Fluency.io Brasil","isPartOf":{"@id":"https:\/\/fluency.io\/br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#primaryimage"},"image":{"@id":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#primaryimage"},"thumbnailUrl":"","datePublished":"2023-08-01T16:28:48+00:00","author":{"@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a"},"description":"O artigo \"JavaScript Undefined: como lidar com esse valor em seu c\u00f3digo\" explora o conceito de \"javascript undefined\" e d\u00e1 exemplos de como esse valor pode...","breadcrumb":{"@id":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#primaryimage","url":"","contentUrl":"","width":1027,"height":420},{"@type":"BreadcrumbList","@id":"https:\/\/fluency.io\/br\/blog\/javascript-undefined-entendendo-o-valor-indefinido-undefined-em-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fluency.io\/br\/"},{"@type":"ListItem","position":2,"name":"JavaScript Undefined: Entendendo o valor indefinido (undefined) em JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/fluency.io\/br\/#website","url":"https:\/\/fluency.io\/br\/","name":"Fluency.io Brasil","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fluency.io\/br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a","name":"kaue","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g","caption":"kaue"}}]}},"_links":{"self":[{"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/posts\/114735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/comments?post=114735"}],"version-history":[{"count":0,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/posts\/114735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/media?parent=114735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/categories?post=114735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/tags?post=114735"},{"taxonomy":"format","embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/format?post=114735"},{"taxonomy":"trilha","embeddable":true,"href":"https:\/\/fluency.io\/br\/wp-json\/wp\/v2\/trilha?post=114735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}