Domine a Sintaxe do Arduino: Comandos e Boas Práticas
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 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 JavaScript
Introduçã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 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 var
é “erguida” internamente para o início do escopoVariá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
Funçõ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
console
. Por isso, o resultado impresso é Debugging 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
undefined
, e não um erro.Variá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.
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 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
- O hoisting não carrega valores de variáveis
Pré-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. para o topo, apenas declarações. A atribuição de valor ocorre na linha que você efetivamente escreveu.
- Funções
Funçõ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 (com a palavra-chave
function
) sofrem hoisting completo, enquanto funçõesFunçõ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. em formato de expressão (
const
) seguem a lógica de variáveisVariá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. minhaFuncao = function() { ... }
Pré-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. (não se pode chamar antes da atribuição).
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 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 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
- Proíbe o uso de variáveis
Pré-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. não declaradas: se você tentar usar uma variável sem declará-la antes, ocorrerá um erro ao invés de simplesmente criar a variável no escopo global
Funçõ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..
- Maior segurança no uso de palavras reservadas: previne o uso de nomes que podem vir a se tornar palavras-chave da linguagem em versões futuras.
- Evita modificações acidentais em objetos
Fundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web. “imutáveis”: por exemplo, impede a criação de novas propriedades
Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. em objetos que estejam selados ou congelados, gerando erro caso aconteça.
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 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 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 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
- Adicione
"use strict";
nas primeiras linhas do seu arquivo ou dentro de funçõesFunçõ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. específicas.
- Isso ajudará a evitar bugs difíceis de rastrear, reforçando boas práticas por padrão.
2. Declare as variáveisPré-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
- Embora o hoisting mova declarações
var
para o topo, é considerado bom estiloVariá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.
Relaçã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. declarar as variáveis
Pré-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. antecipadamente (ou próximo ao local de uso) para melhorar a legibilidade.
- Prefira
let
eVariá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.
const
aVariá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.
var
, pois esse padrão evita problemas de escopoVariá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.
Funçõ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. e reduz confusões acerca de hoisting.
3. Evite depender de Hoisting
- Mesmo sabendo que o JavaScript
Introduçã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. faz hoisting, escreva o código organizado, sem pressupor que você possa usar as variáveis e funções antes de declará-las.
4. Escolha nomes de variáveisPré-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
- Comportamentos como hoisting podem levar a sobrescritas ou reatribuições de valores, então use nomes claramente distintos para suas variáveis
Pré-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, evitando conflitos desnecessários.
5. Mantenha a coerência de estiloRelaçã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.
- Um código coerente e padronizado minimiza riscos de confusão, principalmente em equipes maiores. Ferramentas de Lint podem ajudar, mas manter a disciplina no uso de strict mode,
let
/Variá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.
const
e declarações antecipadas é essencial para legibilidade.Variá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.
Tabela Resumo
Conceito | Descrição | Exemplo |
---|---|---|
Hoisting | JavaScript “eleva” declarações de variáveis e funções ao topo do escopo. | console.log(x); var x = 5; |
Strict Mode | Modo 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áticas | Sempre 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 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🔗
- Documentação oficial do MDN: developer.mozilla.org/pt-BR/docs/Web/JavaScript
- ECMAScript® Language Specification: tc39.es/ecma262/