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 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. 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 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
Cobertura de Testes e Práticas de QualidadeDescubra como a cobertura de testes assegura qualidade e confiabilidade em projetos JavaScript. Aprenda a aplicar métricas e ferramentas essenciais. para evitar problemas comuns.
Hoisting🔗
Hoisting é um comportamento do 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. 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 escopo
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. 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..logundefined, 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çõ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 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çõ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. em formato de expressão (const) seguem a lógica de variáveis
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. 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 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.. 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çã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.:
"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 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. criaria a variável teste 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. 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 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.. 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çõ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. específicas. - Isso ajudará a evitar bugs difíceis de rastrear, reforçando boas práticas
Cobertura de Testes e Práticas de QualidadeDescubra como a cobertura de testes assegura qualidade e confiabilidade em projetos JavaScript. Aprenda a aplicar métricas e ferramentas essenciais. por padrão.
2. Declare 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. antes de usá-las
- Embora o hoisting mova declarações
varpara o topo, é considerado bom estilo
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.
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
lete
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.consta
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.var, pois esse padrão evita problemas de escopo
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 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á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 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 estilo
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.
- 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.conste 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 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.. 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
Cobertura de Testes e Práticas de QualidadeDescubra como a cobertura de testes assegura qualidade e confiabilidade em projetos JavaScript. Aprenda a aplicar métricas e ferramentas essenciais., 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/
há 11 meses atrás
há 11 meses atrás
há 9 meses atrás
há 9 meses atrás
há 11 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 9 meses atrás
há 9 meses atrás
há 9 meses atrás
há 9 meses atrás
há 9 meses atrás
há 9 meses atrás
há 9 meses atrás
há 9 meses atrás
há 9 meses atrás
há 9 meses atrás
há 9 meses atrás
há 13 meses atrás
há 13 meses atrás
há 12 meses atrás
há 12 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás