Domine Hoisting e Strict Mode com Boas Práticas JS

Neste tutorial, exploraremos três conceitos importantes para quem deseja escrever código em JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. de forma clara, confiável e manutenível: hoisting, strict mode e algumas melhores práticas de programação. A meta é compreender como o JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. organiza internamente suas variáveis e funções, por que o “modo estrito” torna seu código mais seguro e, por fim, como aplicar boas práticas para evitar problemas comuns.

Hoisting🔗

Hoisting é um comportamento do JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. onde declarações de variáveis e funções são “movidas” para o topo do escopo durante a fase de compilação. Isso significa que você pode, por exemplo, utilizar uma função antes mesmo de declará-la no código, pois o interpretador “eleva” (faz o lifting) essas declarações internamente.

Exemplos de Hoisting

Variáveis com var

console.log(minhaVariavel); // undefined (e não erro)
var minhaVariavel = 10;

No caso acima, a declaração varVariáveis, Tipos de Dados e OperadoresVariáveis, Tipos de Dados e OperadoresAprenda os conceitos essenciais de JavaScript, explorando variáveis, tipos de dados e operadores com exemplos claros e práticas dicas de programação. minhaVariavel é “erguida” internamente para o início do escopoFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas.. Mas o valor só é atribuído depois da linha de consoleDebugging e Ferramentas de Desenvolvimento do NavegadorDebugging e Ferramentas de Desenvolvimento do NavegadorAprenda a depurar código JavaScript com as Ferramentas do Navegador. Use console, breakpoints e debugger para solucionar bugs de forma prática..log. Por isso, o resultado impresso é undefinedVariáveis, Tipos de Dados e OperadoresVariáveis, Tipos de Dados e OperadoresAprenda os conceitos essenciais de JavaScript, explorando variáveis, tipos de dados e operadores com exemplos claros e práticas dicas de programação., e não um erro.

Funções Declaradas (Function Declaration)

minhaFuncao(); // Chama normalmente, pois a declaração é "hoisted"
function minhaFuncao() {
  console.log("Exemplo de hoisting em function declarations.");
}

Já as funçõesFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. declaradas dessa forma são completamente “elevadas”, incluindo seu corpo. Por isso, é possível chamá-las antes de sua declaração aparecer no código.

Pontos Importantes sobre Hoisting

Strict Mode🔗

O Strict Mode (ou modo estrito) foi introduzido no ECMAScript 5 para reduzir comportamentos confusos e perigosos do JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente.. Quando o modo estrito está ativado, ele aplica regras mais rígidas, ajudando a evitar armadilhas comuns.

Para habilitar o Strict Mode, basta adicionar a seguinte linha como primeira instrução de um arquivo ou funçãoFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas.:

"use strict";

Benefícios do Strict Mode

Exemplo de Strict Mode

"use strict";
function minhaFuncaoEmModoEstrito() {
  teste = 42; // Gera erro: "teste is not defined"
}
minhaFuncaoEmModoEstrito();

Sem o "use strict", o JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. criaria a variável teste no escopo globalFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. de forma implícita. Com o modo estrito, recebemos um erro, indicando o problema imediatamente.

Boas Práticas🔗

Escrever um código de fácil manutenção, livre de erros sutis e mais previsível requer atenção aos detalhes do JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente.. Abaixo estão algumas recomendações relacionadas a hoisting e ao strict mode:

1. Ative o Strict Mode

2. Declare as variáveisPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingAprenda a manter seu CSS de forma otimizada com SASS/SCSS utilizando variáveis, mixins e nesting para um código limpo e produtivo. antes de usá-las

3. Evite depender de Hoisting

4. Escolha nomes de variáveisPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingAprenda a manter seu CSS de forma otimizada com SASS/SCSS utilizando variáveis, mixins e nesting para um código limpo e produtivo. e funções descritivos

5. Mantenha a coerência de estiloRelação entre HTML e CSSRelação entre HTML e CSSDescubra como HTML e CSS trabalham juntos para criar páginas web esteticamente agradáveis e bem estruturadas, facilitando a manutenção e o desempenho.

Tabela Resumo

ConceitoDescriçãoExemplo
HoistingJavaScript “eleva” declarações de variáveis e funções ao topo do escopo.console.log(x); var x = 5;
Strict ModeModo que impede práticas inseguras como uso de variáveis não declaradas, duplicações de parâmetros e outras ações que podem gerar comportamentos inesperados."use strict"; teste = 10; // Erro
Boas PráticasSempre declarar variáveis antes de usá-las, utilizar let/const, manter “use strict” em todo o código e evitar depender do hoisting para fluxo de execução.N/A

Conclusão🔗

O Hoisting e o Strict Mode são dois pilares fundamentais para o entendimento profundo da linguagem JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente.. Compreender como o JavaScript lida com variáveis e declarações de função “nos bastidores” evita surpresas desagradáveis. Já o Strict Mode fornece uma camada extra de segurança, ao impor regras mais estritas sobre a forma como o código pode ser escrito e executado.

Aliado a um conjunto de boas práticas, você poderá escrever código mais robusto, preventivo e claro, seja num projeto pequeno, seja em grandes aplicações.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados