{"id":953,"date":"2017-12-03T10:54:52","date_gmt":"2017-12-03T10:54:52","guid":{"rendered":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/"},"modified":"2018-04-07T16:42:08","modified_gmt":"2018-04-07T16:42:08","slug":"javascript-variaveis","status":"publish","type":"post","link":"https:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/","title":{"rendered":"JavaScript &#8211; Vari\u00e1veis: var, let e const"},"content":{"rendered":"<p><a name=\"o-que-e-variavel\"><\/a><\/p>\n<h2>O que \u00e9 uma vari\u00e1vel?<\/h2>\n<p>Vari\u00e1veis JavaScript s\u00e3o objetos onde n\u00f3s guardamos uma informa\u00e7\u00e3o apenas em tempo de execu\u00e7\u00e3o. Por exemplo: se voc\u00ea digita sua data de nascimento em um formul\u00e1rio, podemos guardar essa data em uma vari\u00e1vel para calcular a sua idade. Mas se voc\u00ea<!--more--> sair do site e voltar, sua data de nascimento n\u00e3o estar\u00e1 l\u00e1 automaticamente.<\/p>\n<p>Um conceito importante sobre vari\u00e1veis \u00e9 que ao defini-la,\u00a0 estamos reservando um espa\u00e7o na mem\u00f3ria do computador. No caso de JavaScript, como nossas aplica\u00e7\u00f5es rodam em navegadores, estamos utilizando a mem\u00f3ria deles. Sabe quando voc\u00ea acessa um site que seu Chrome fica uma lerdeza que s\u00f3? Pode ser uma aplica\u00e7\u00e3o com uma gest\u00e3o ruim da aloca\u00e7\u00e3o de mem\u00f3ria.<\/p>\n<ul>\n<li><a href=\"#o-que-e-variavel\">O que \u00e9 uma vari\u00e1vel?<\/a><\/li>\n<li><a href=\"#variaveis-javascript\">Vari\u00e1veis JavaScript<\/a><\/li>\n<li><a href=\"#hoisting\">Hoisting<\/a><\/li>\n<li><a href=\"#var\">Declarando vari\u00e1veis com\u00a0<em>var<\/em><\/a><\/li>\n<li><a href=\"#let\">Declarando vari\u00e1veis com\u00a0<em>let<\/em><\/a><\/li>\n<li><a href=\"#const\">Declarando vari\u00e1veis com\u00a0<em>const<\/em><\/a><\/li>\n<li><a href=\"#conclusao\">Conclus\u00e3o<\/a><\/li>\n<\/ul>\n<p><a name=\"variaveis-javascript\"><\/a><\/p>\n<h2>Vari\u00e1veis JavaScript<\/h2>\n<p>Como j\u00e1 falamos na <a href=\"\/javascript-comecando-jeito-certo\">introdu\u00e7\u00e3o ao JavaScript<\/a>, a tipagem no JavaScript \u00e9 din\u00e2mica, e portanto n\u00e3o precisamos dizer se aquela vari\u00e1vel espera receber uma string, um n\u00famero, um array ou outro. O JavaScript se vira com a informa\u00e7\u00e3o que voc\u00ea inserir.<br \/>\n<a name=\"hoisting\"><\/a><\/p>\n<h2>Hoisting (i\u00e7ar)<\/h2>\n<p>Em linguagens como C por exemplo, todas as declara\u00e7\u00f5es deveriam vir no in\u00edcio do programa, correto? Com o tempo, come\u00e7ou a se pensar, porque n\u00e3o poder\u00edamos fazer as declara\u00e7\u00f5es em qualquer lugar do c\u00f3digo e o compilador se virar?<\/p>\n<p>Assim foi concebido o conceito de <em>H<\/em><em>oisting<\/em>, que \u00e9 o seguinte: os compiladores (ou at\u00e9 linguagens runtime) leem todas as fun\u00e7\u00f5es e vari\u00e1veis que est\u00e3o declaradas no c\u00f3digo antes de execut\u00e1-lo. No momento em que ele vai executar o c\u00f3digo, ele j\u00e1 sabe onde est\u00e1 o qu\u00ea.<\/p>\n<p>Por esse motivo, em JavaScript \u00e9 poss\u00edvel voc\u00ea usar uma vari\u00e1vel antes mesmo de defini-la.<\/p>\n<p><script async src=\"\/\/jsfiddle.net\/nu7z07jp\/1\/embed\/js\/dark\/\"><\/script><\/p>\n<p class=\"p1\"><span class=\"s1\">No nosso exemplo acima, como a vari\u00e1vel\u00a0<\/span><em><span class=\"s2\">mensagemDentroDoIf<\/span><\/em><span class=\"s1\">\u00a0est\u00e1 dentro de uma\u00a0<i>function<\/i>, a declara\u00e7\u00e3o da mesma \u00e9 elevada (<i>hoisting<\/i>) para o topo do seu contexto, ou seja, para o topo da\u00a0<i>function<\/i>.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">\u00c9 por esse mesmo motivo que \u201c\u00e9 poss\u00edvel usar uma vari\u00e1vel antes dela ter sido declarada\u201d. Pois em tempo de execu\u00e7\u00e3o a vari\u00e1vel ser\u00e1 elevada (<i>hoisting<\/i>) e tudo funcionar\u00e1 corretamente.<\/span><\/p>\n<p><a name=\"var\"><\/a><\/p>\n<h2>Declarando vari\u00e1veis com <i>var<\/i><\/h2>\n<p>Quando declaramos uma vari\u00e1vel com\u00a0<em>var<\/em>, por padr\u00e3o essa vari\u00e1vel \u00e9 iniciada com\u00a0<em>undefined\u00a0<\/em>(caso voc\u00ea n\u00e3o atribua nenhum valor ao mesmo tempo).<\/p>\n<p><script async src=\"\/\/jsfiddle.net\/nu7z07jp\/2\/embed\/js\/dark\/\"><\/script><\/p>\n<p>Adicione a complexidade da utiliza\u00e7\u00e3o do\u00a0<em>hoisting<\/em> e tempos um problema: quanto mais complexo for o c\u00f3digo, mais dif\u00edcil \u00e9 entender o escopo das vari\u00e1veis declaradas com var.<br \/>\n<a name=\"let\"><\/a><\/p>\n<h2>Declarando vari\u00e1veis com\u00a0<em>let<\/em><\/h2>\n<p><em>Let<\/em> foi um conceito trazido na vers\u00e3o ES6 do JavaScript, para a cria\u00e7\u00e3o de escopo de bloco assim como em outras linguagens. Em resumo,\u00a0<em>let<\/em> \u00e9 uma forma de criar vari\u00e1veis sem\u00a0<em>hoisting<\/em>.<\/p>\n<p>Aqui vai um conselho, n\u00e3o use mais\u00a0<em>var<\/em>. Fica bem mais simples de entender o escopo das vari\u00e1veis, al\u00e9m de n\u00e3o ficar alocando mem\u00f3ria do navegador sem necessidade. <em>Let<\/em> n\u00e3o \u00e9 o futuro, \u00e9 o presente. <em>Let<\/em> hoje, <em>let<\/em> amanh\u00e3 <em>let<\/em> pra sempre!<\/p>\n<p><script async src=\"\/\/jsfiddle.net\/nu7z07jp\/3\/embed\/js\/dark\/\"><\/script><br \/>\n<a name=\"const\"><\/a><\/p>\n<h2>Declarando vari\u00e1veis com\u00a0<em>const<\/em><\/h2>\n<p>Mais um recurso trazido no ES6. <em>Const<\/em> \u00e9 utilizado para criar vari\u00e1veis imut\u00e1veis, ou seja vari\u00e1veis que n\u00e3o podem ter seu valor alterado. Usar\u00a0<em>const\u00a0<\/em>garante que ao utilizar a vari\u00e1vel ela estar\u00e1 iniciada com um valor diferente de\u00a0<em>undefined<\/em>.<\/p>\n<p><em>Const<\/em> tamb\u00e9m tem escopo de bloco, mas o mais interessante, \u00e9 que o valor de uma const n\u00e3o pode ser alterado.<br \/>\n<a name=\"conclusao\"><\/a><\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Sempre que poss\u00edvel n\u00e3o utilize\u00a0<em>var<\/em>. Observe atentamente os locais que voc\u00ea deve usar <em>let<\/em> e assim que poss\u00edvel abuse de <em>const<\/em>.<\/p>\n<p>Existe um debate interessante sobre vari\u00e1veis JavaScript no Github, no f\u00f3rum do <a href=\"https:\/\/twitter.com\/frontendbr\" target=\"_blank\" rel=\"noopener\">@frontendbr<\/a>: <a href=\"https:\/\/github.com\/frontendbr\/forum\/issues\/803\" target=\"_blank\" rel=\"noopener\">Existe alguma raz\u00e3o para usar &#8216;var&#8217; a partir do ES6<\/a>?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que \u00e9 uma vari\u00e1vel? Vari\u00e1veis JavaScript s\u00e3o objetos onde n\u00f3s guardamos uma informa\u00e7\u00e3o apenas em tempo de execu\u00e7\u00e3o. Por exemplo: se voc\u00ea digita sua data de nascimento em um formul\u00e1rio, podemos guardar essa data em uma vari\u00e1vel para calcular a sua idade. Mas se voc\u00ea<\/p>\n","protected":false},"author":1,"featured_media":958,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[117,1,5],"tags":[138,55,56],"class_list":["post-953","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev","category-sem-categoria","category-tecnologia","tag-es6","tag-javascript","tag-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JavaScript - Vari\u00e1veis: var, let e const - Blog do Andr\u00e9 Felizardo<\/title>\n<meta name=\"description\" content=\"Entenda de uma vez por todas a utilizar vari\u00e1veis JavaScript da melhor forma entendendo os conceitos de var, let, const, hoisting e outros.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript - Vari\u00e1veis: var, let e const - Blog do Andr\u00e9 Felizardo\" \/>\n<meta property=\"og:description\" content=\"Entenda de uma vez por todas a utilizar vari\u00e1veis JavaScript da melhor forma entendendo os conceitos de var, let, const, hoisting e outros.\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog do Andr\u00e9 Felizardo\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-03T10:54:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-04-07T16:42:08+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/12\/javascript-variaveis.png\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"391\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Felizardo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Felizardo\" \/>\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\":\"Article\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Felizardo\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/7ffba68b251851fb519600e2e387a02b\"},\"headline\":\"JavaScript &#8211; Vari\u00e1veis: var, let e const\",\"datePublished\":\"2017-12-03T10:54:52+00:00\",\"dateModified\":\"2018-04-07T16:42:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/\"},\"wordCount\":673,\"commentCount\":0,\"image\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/javascript-variaveis.png\",\"keywords\":[\"es6\",\"javascript\",\"js\"],\"articleSection\":{\"0\":\"Dev\",\"2\":\"Tecnologia\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/\",\"url\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/\",\"name\":\"JavaScript - Vari\u00e1veis: var, let e const - Blog do Andr\u00e9 Felizardo\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/javascript-variaveis.png\",\"datePublished\":\"2017-12-03T10:54:52+00:00\",\"dateModified\":\"2018-04-07T16:42:08+00:00\",\"author\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/7ffba68b251851fb519600e2e387a02b\"},\"description\":\"Entenda de uma vez por todas a utilizar vari\u00e1veis JavaScript da melhor forma entendendo os conceitos de var, let, const, hoisting e outros.\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/javascript-variaveis.png\",\"contentUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/javascript-variaveis.png\",\"width\":750,\"height\":391},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/javascript-variaveis\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript &#8211; Vari\u00e1veis: var, let e const\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#website\",\"url\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/\",\"name\":\"Blog do Andr\u00e9 Felizardo\",\"description\":\"Programa\u00e7\u00e3o de dev para dev\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/7ffba68b251851fb519600e2e387a02b\",\"name\":\"Andr\u00e9 Felizardo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/9f9\\\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg\",\"url\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/9f9\\\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/9f9\\\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg\",\"caption\":\"Andr\u00e9 Felizardo\"},\"sameAs\":[\"http:\\\/\\\/www.andrefelizardo.com.br\"],\"url\":\"https:\\\/\\\/www.andrefelizardo.com.br\\\/blog\\\/author\\\/andrefelizardo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript - Vari\u00e1veis: var, let e const - Blog do Andr\u00e9 Felizardo","description":"Entenda de uma vez por todas a utilizar vari\u00e1veis JavaScript da melhor forma entendendo os conceitos de var, let, const, hoisting e outros.","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":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/","og_locale":"pt_BR","og_type":"article","og_title":"JavaScript - Vari\u00e1veis: var, let e const - Blog do Andr\u00e9 Felizardo","og_description":"Entenda de uma vez por todas a utilizar vari\u00e1veis JavaScript da melhor forma entendendo os conceitos de var, let, const, hoisting e outros.","og_url":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/","og_site_name":"Blog do Andr\u00e9 Felizardo","article_published_time":"2017-12-03T10:54:52+00:00","article_modified_time":"2018-04-07T16:42:08+00:00","og_image":[{"width":750,"height":391,"url":"http:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/12\/javascript-variaveis.png","type":"image\/png"}],"author":"Andr\u00e9 Felizardo","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Andr\u00e9 Felizardo","Est. tempo de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/#article","isPartOf":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/"},"author":{"name":"Andr\u00e9 Felizardo","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#\/schema\/person\/7ffba68b251851fb519600e2e387a02b"},"headline":"JavaScript &#8211; Vari\u00e1veis: var, let e const","datePublished":"2017-12-03T10:54:52+00:00","dateModified":"2018-04-07T16:42:08+00:00","mainEntityOfPage":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/"},"wordCount":673,"commentCount":0,"image":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/#primaryimage"},"thumbnailUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/12\/javascript-variaveis.png","keywords":["es6","javascript","js"],"articleSection":{"0":"Dev","2":"Tecnologia"},"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/","url":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/","name":"JavaScript - Vari\u00e1veis: var, let e const - Blog do Andr\u00e9 Felizardo","isPartOf":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/#primaryimage"},"image":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/#primaryimage"},"thumbnailUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/12\/javascript-variaveis.png","datePublished":"2017-12-03T10:54:52+00:00","dateModified":"2018-04-07T16:42:08+00:00","author":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#\/schema\/person\/7ffba68b251851fb519600e2e387a02b"},"description":"Entenda de uma vez por todas a utilizar vari\u00e1veis JavaScript da melhor forma entendendo os conceitos de var, let, const, hoisting e outros.","breadcrumb":{"@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/#primaryimage","url":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/12\/javascript-variaveis.png","contentUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/12\/javascript-variaveis.png","width":750,"height":391},{"@type":"BreadcrumbList","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/javascript-variaveis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"http:\/\/www.andrefelizardo.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"JavaScript &#8211; Vari\u00e1veis: var, let e const"}]},{"@type":"WebSite","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#website","url":"http:\/\/www.andrefelizardo.com.br\/blog\/","name":"Blog do Andr\u00e9 Felizardo","description":"Programa\u00e7\u00e3o de dev para dev","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.andrefelizardo.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"http:\/\/www.andrefelizardo.com.br\/blog\/#\/schema\/person\/7ffba68b251851fb519600e2e387a02b","name":"Andr\u00e9 Felizardo","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/wphb-cache\/gravatar\/9f9\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg","url":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/wphb-cache\/gravatar\/9f9\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg","contentUrl":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/wphb-cache\/gravatar\/9f9\/9f92d8b773ef5acf9b462d6dab41d783x96.jpg","caption":"Andr\u00e9 Felizardo"},"sameAs":["http:\/\/www.andrefelizardo.com.br"],"url":"https:\/\/www.andrefelizardo.com.br\/blog\/author\/andrefelizardo\/"}]}},"jetpack_featured_media_url":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/12\/javascript-variaveis.png","jetpack_shortlink":"https:\/\/wp.me\/p6EP66-fn","jetpack-related-posts":[{"id":943,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/javascript-comecando-do-jeito-certo\/","url_meta":{"origin":953,"position":0},"title":"JavaScript &#8211; Come\u00e7ando do jeito certo","author":"Andr\u00e9 Felizardo","date":"30 de novembro de 2017","format":false,"excerpt":"O que \u00e9 JavaScript? JavaScript \u00e9 uma linguagem de programa\u00e7\u00e3o, que foi criada originalmente para rodar em navegadores. Na tr\u00edade do Front-end, a linguagem \u00e9 respons\u00e1vel por interagir com o usu\u00e1rio (como mensagens de erro e outros), sem a necessidade das informa\u00e7\u00f5es irem at\u00e9 o servidor. O que \u00e9 JavaScript?\u2026","rel":"","context":"Em &quot;Dev&quot;","block_context":{"text":"Dev","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/dev\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/11\/javascript-comecando_jeito_certo.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/11\/javascript-comecando_jeito_certo.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/11\/javascript-comecando_jeito_certo.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/11\/javascript-comecando_jeito_certo.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":981,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/jasmine-testando-seu-codigo-javascript\/","url_meta":{"origin":953,"position":1},"title":"Jasmine &#8211; Testando seu c\u00f3digo JavaScript","author":"Andr\u00e9 Felizardo","date":"3 de fevereiro de 2018","format":false,"excerpt":"Conforme evolu\u00edmos na complexidade das aplica\u00e7\u00f5es de front-end que desenvolvemos, uma necessidade come\u00e7a a se tornar \u00f3bvia: testar o c\u00f3digo JavaScript. Jasmine \u00e9 um framework exatamente para resolver essa necessidade. Jasmine \u00e9 um framework de testes para o c\u00f3digo JavaScript, que adere aos conceitos de Behavior Driven Development. BDD Jasmine\u2026","rel":"","context":"Em &quot;Dev&quot;","block_context":{"text":"Dev","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/dev\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/02\/jasmine-logo.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/02\/jasmine-logo.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/02\/jasmine-logo.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2018\/02\/jasmine-logo.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":590,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/ionic-creator-exportando-e-gerando-apk\/","url_meta":{"origin":953,"position":2},"title":"Ionic Creator &#8211; exportando e gerando apk","author":"Andr\u00e9 Felizardo","date":"23 de maio de 2016","format":false,"excerpt":"Continuando nossa jornada sobre o Ionic Creator, vamos agora exportar o app que fizemos na ferramenta, para podermos editar o c\u00f3digo e gerar o instalador para o Android (.apk). Se voc\u00ea n\u00e3o tem i-d-e-i-a do que \u00e9 Ionic, muito menos Ionic Creator, comece por aqui! No Ionic Creator, no canto\u2026","rel":"","context":"Em &quot;Aplicativos&quot;","block_context":{"text":"Aplicativos","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/aplicativos\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/05\/ionic-creator-parte-II.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/05\/ionic-creator-parte-II.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/05\/ionic-creator-parte-II.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/05\/ionic-creator-parte-II.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":668,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/manipulando-elementos-de-acordo-com-a-altura-da-janela\/","url_meta":{"origin":953,"position":3},"title":"Manipulando elementos de acordo com a altura da janela","author":"Andr\u00e9 Felizardo","date":"30 de setembro de 2016","format":false,"excerpt":"Se voc\u00ea v\u00e1rias vezes j\u00e1 se pegou\u00a0manipulando elementos com JavaScript e jQuery nem precisa ler esse post, sei l\u00e1, vai ler sobre Ionic\u00a0:) Caso voc\u00ea esteja come\u00e7ando no mundo do Front-end\u00a0talvez voc\u00ea tenha tido esta d\u00favida. Como eu fa\u00e7o pra deixar um elemento (como uma div) da altura da janela?\u2026","rel":"","context":"Em &quot;Curiosidades&quot;","block_context":{"text":"Curiosidades","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/curiosidades\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/09\/javascript.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/09\/javascript.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/09\/javascript.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/09\/javascript.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":799,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/angular-2-nao-continuacao-do-angular-1\/","url_meta":{"origin":953,"position":4},"title":"Angular 2 &#8211; A n\u00e3o continua\u00e7\u00e3o do Angular 1","author":"Andr\u00e9 Felizardo","date":"15 de janeiro de 2017","format":false,"excerpt":"T\u00e1 estudando Angular 2? N\u00e3o? Fica ligado que a gente j\u00e1 est\u00e1 no Angular 4 beta 3! Angular 2 foi oficialmente lan\u00e7ado em setembro de 2016. Mas tamb\u00e9m n\u00e3o precisa ficar t\u00e3o preocupado. De qualquer forma vamos colocar os pingos nos is\u00a0pra voc\u00ea entender de uma vez por toda o\u2026","rel":"","context":"Em &quot;Dev&quot;","block_context":{"text":"Dev","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/dev\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2017\/01\/angular2.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":717,"url":"https:\/\/www.andrefelizardo.com.br\/blog\/node-js-o-que-e-entenda-agora\/","url_meta":{"origin":953,"position":5},"title":"Node.js, o que \u00e9? Entenda agora","author":"Andr\u00e9 Felizardo","date":"24 de outubro de 2016","format":false,"excerpt":"As vezes eu digo que Node.js \u00e9 o futuro. Mas est\u00e1 errado. Node.js \u00e9 o presente. Se voc\u00ea quer fazer apps com Ionic, por exemplo, voc\u00ea precisa ter\u00a0Node\u00a0instalado.\u00a0At\u00e9 pra brincar com .NET Core, voc\u00ea pode utilizar\u00a0Node\u00a0pra criar sua Web API. E n\u00e3o sei voc\u00ea, mas, eu usei v\u00e1rias vezes o\u00a0npm,\u2026","rel":"","context":"Em &quot;Curiosidades&quot;","block_context":{"text":"Curiosidades","link":"https:\/\/www.andrefelizardo.com.br\/blog\/category\/curiosidades\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.andrefelizardo.com.br\/blog\/wp-content\/uploads\/2016\/10\/node.js.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/posts\/953","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/comments?post=953"}],"version-history":[{"count":0,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/posts\/953\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/media\/958"}],"wp:attachment":[{"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/media?parent=953"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/categories?post=953"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.andrefelizardo.com.br\/blog\/wp-json\/wp\/v2\/tags?post=953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}