{"id":1085,"date":"2024-07-08T10:02:44","date_gmt":"2024-07-08T13:02:44","guid":{"rendered":"https:\/\/desvendandoocodigo.com.br\/?p=1085"},"modified":"2024-07-10T11:50:10","modified_gmt":"2024-07-10T14:50:10","slug":"escopo-de-variaveis-em-javascript-var-let-e-const","status":"publish","type":"post","link":"https:\/\/desvendandoocodigo.com.br\/?p=1085","title":{"rendered":"Escopo de Vari\u00e1veis em JavaScript: var, let e const"},"content":{"rendered":"\n<p>O escopo de vari\u00e1veis \u00e9 um conceito fundamental em qualquer linguagem de programa\u00e7\u00e3o, e em JavaScript, ele \u00e9 particularmente importante devido \u00e0s peculiaridades de suas palavras-chave: var, const e let. Cada uma dessas palavras-chave possui caracter\u00edsticas espec\u00edficas que afetam o comportamento e a acessibilidade das vari\u00e1veis declaradas. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O Modo Cl\u00e1ssico &#8211; var<\/h2>\n\n\n\n<p>Antes da introdu\u00e7\u00e3o do ECMAScript 6 (ES6), a \u00fanica maneira de declarar vari\u00e1veis em JavaScript era utilizando var. O escopo de uma vari\u00e1vel declarada com var \u00e9 limitado ao contexto da fun\u00e7\u00e3o em que \u00e9 definida, ou ao contexto global se declarada fora de uma fun\u00e7\u00e3o. Isso \u00e9 conhecido como &#8220;escopo de fun\u00e7\u00e3o&#8221;.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"885\" height=\"599\" src=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image.png\" alt=\"\" class=\"wp-image-1086\" srcset=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image.png 885w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-300x203.png 300w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-768x520.png 768w\" sizes=\"(max-width: 885px) 100vw, 885px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Neste exemplo, a vari\u00e1vel x dentro do bloco if n\u00e3o cria um novo escopo; ela sobrescreve a vari\u00e1vel x definida na fun\u00e7\u00e3o, mostrando que var n\u00e3o respeita o escopo de bloco.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Escopo de Bloco &#8211; let<\/h2>\n\n\n\n<p>Introduzida no ES6, a palavra-chave let permite a cria\u00e7\u00e3o de vari\u00e1veis que respeitam o escopo de bloco. Isso significa que uma vari\u00e1vel declarada com let s\u00f3 \u00e9 acess\u00edvel dentro do bloco em que foi definida.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"846\" height=\"599\" src=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-1.png\" alt=\"\" class=\"wp-image-1087\" srcset=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-1.png 846w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-1-300x212.png 300w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-1-768x544.png 768w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Aqui, a vari\u00e1vel y dentro do bloco if \u00e9 uma vari\u00e1vel totalmente nova, independente da vari\u00e1vel y fora do bloco, demonstrando a caracter\u00edstica de escopo de bloco do let.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Constantes com Escopo de Bloco<\/h2>\n\n\n\n<p>Assim como let, const tamb\u00e9m respeita o escopo de bloco, mas com uma diferen\u00e7a crucial: a vari\u00e1vel declarada com const n\u00e3o pode ser reatribu\u00edda. No entanto, vale lembrar que objetos e arrays declarados com const podem ter suas propriedades ou elementos modificados.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"877\" height=\"645\" src=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-2.png\" alt=\"\" class=\"wp-image-1088\" srcset=\"https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-2.png 877w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-2-300x221.png 300w, https:\/\/desvendandoocodigo.com.br\/wp-content\/uploads\/2024\/07\/image-2-768x565.png 768w\" sizes=\"(max-width: 877px) 100vw, 877px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quando Usar var, let e const<\/h2>\n\n\n\n<p>Devido \u00e0s melhorias no escopo e seguran\u00e7a, \u00e9 recomendado evitar o uso de var em favor de let e const. Utilize let para vari\u00e1veis que voc\u00ea precisar\u00e1 reatribuir e const para vari\u00e1veis que n\u00e3o devem ser reatribu\u00eddas.<\/p>\n\n\n\n<p>Em resumo, entender o escopo de vari\u00e1veis em JavaScript e como utilizar var, let e const corretamente pode melhorar a clareza e a manuten\u00e7\u00e3o do seu c\u00f3digo, evitando erros comuns e comportamentos inesperados. Com o conhecimento adequado, voc\u00ea pode tirar proveito das melhores pr\u00e1ticas e escrever um c\u00f3digo mais robusto e eficiente.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"AULA 12: Escopo de Vari\u00e1veis em JavaScript #cursojavascript\" width=\"960\" height=\"540\" src=\"https:\/\/www.youtube.com\/embed\/bwglia2dXFM?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","protected":false},"excerpt":{"rendered":"<p>O escopo de vari\u00e1veis \u00e9 um conceito fundamental em qualquer linguagem de programa\u00e7\u00e3o, e em JavaScript, ele \u00e9 particularmente importante devido \u00e0s peculiaridades de suas palavras-chave: var, const e let. Cada uma dessas palavras-chave possui caracter\u00edsticas espec\u00edficas que afetam o comportamento e a acessibilidade das vari\u00e1veis declaradas. O Modo Cl\u00e1ssico &#8211; var Antes da introdu\u00e7\u00e3o do ECMAScript 6 (ES6), a \u00fanica maneira de declarar vari\u00e1veis em JavaScript era utilizando var. O escopo de uma vari\u00e1vel declarada com var \u00e9 limitado ao contexto da fun\u00e7\u00e3o em que \u00e9 definida, ou ao contexto global se declarada fora de uma fun\u00e7\u00e3o. Isso \u00e9 conhecido como &#8220;escopo de fun\u00e7\u00e3o&#8221;. Neste exemplo, a vari\u00e1vel x dentro do bloco if n\u00e3o cria um novo escopo; ela sobrescreve a vari\u00e1vel x definida na fun\u00e7\u00e3o, mostrando que var n\u00e3o respeita o escopo de bloco. Escopo de Bloco &#8211; let Introduzida no ES6, a palavra-chave let permite a cria\u00e7\u00e3o de vari\u00e1veis que respeitam o escopo de bloco. Isso significa que uma vari\u00e1vel declarada com let s\u00f3 \u00e9 acess\u00edvel dentro do bloco em que foi definida. Aqui, a vari\u00e1vel y dentro do bloco if \u00e9 uma vari\u00e1vel totalmente nova, independente da vari\u00e1vel y fora do bloco, demonstrando a caracter\u00edstica de escopo de bloco do let. Constantes com Escopo de Bloco Assim como let, const tamb\u00e9m respeita o escopo de bloco, mas com uma diferen\u00e7a crucial: a vari\u00e1vel declarada com const n\u00e3o pode ser reatribu\u00edda. No entanto, vale lembrar que objetos e arrays declarados com const podem ter suas propriedades ou elementos modificados. Quando Usar var, let e const Devido \u00e0s melhorias no escopo e seguran\u00e7a, \u00e9 recomendado evitar o uso de var em favor de let e const. Utilize let para vari\u00e1veis que voc\u00ea precisar\u00e1 reatribuir e const para vari\u00e1veis que n\u00e3o devem ser reatribu\u00eddas. Em resumo, entender o escopo de vari\u00e1veis em JavaScript e como utilizar var, let e const corretamente pode melhorar a clareza e a manuten\u00e7\u00e3o do seu c\u00f3digo, evitando erros comuns e comportamentos inesperados. Com o conhecimento adequado, voc\u00ea pode tirar proveito das melhores pr\u00e1ticas e escrever um c\u00f3digo mais robusto e eficiente.<\/p>\n","protected":false},"author":1,"featured_media":1090,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[16],"tags":[],"_links":{"self":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1085"}],"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=1085"}],"version-history":[{"count":5,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1085\/revisions"}],"predecessor-version":[{"id":1108,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1085\/revisions\/1108"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/media\/1090"}],"wp:attachment":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1085"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}