O que é 'use strict' e quando usá-lo?
O 'use strict' é uma diretiva no JavaScript que foi introduzida no ECMAScript 5 (ES5) com o objetivo de impor uma versão mais restritiva da linguagem. Quando você usa 'use strict' em seu código, o JavaScript aplica uma série de regras que ajudam a evitar erros comuns, melhorar a segurança e até mesmo melhorar a performance do seu código. Esta diretiva é uma prática recomendada para a maioria dos projetos JavaScript.
O que acontece quando usamos 'use strict'?
Ao declarar 'use strict' no início de um arquivo ou dentro de uma função, você ativa o modo estrito. Nesse modo, o JavaScript verifica a conformidade de algumas regras adicionais, o que pode impedir que você use práticas de codificação arriscadas ou potenciais fontes de erro.
Exemplo de como ativar o 'use strict':
'use strict';
let nome = 'João'; // Em 'strict mode', você não pode criar variáveis sem 'let', 'const' ou 'var'
Neste exemplo, o modo estrito foi ativado logo no início do código, o que implica que qualquer erro causado por práticas incorretas será capturado, como a criação de variáveis sem o uso de let
, const
ou var
.
Principais características do 'use strict'
- Proíbe a declaração de variáveis sem
let
,const
ouvar
: No modo estrito, tentar declarar uma variável sem usar uma das palavras-chave de declaração de variável (let
,const
,var
) resultará em um erro.
Exemplo:
'use strict';
nome = 'João'; // Erro: "nome" não foi declarado.
Neste exemplo, o código geraria um erro porque tentamos criar a variável nome
sem declarar ela primeiro.
- Elimina
this
global: Quando você usa 'use strict' dentro de uma função, a palavra-chavethis
deixa de se referir ao objeto global (comowindow
no navegador). Isso impede comportamentos inesperados quando você tenta acessarthis
dentro de funções.
Exemplo:
'use strict';
function exemplo() {
console.log(this); // No strict mode, 'this' é undefined em funções simples
}
exemplo();
Neste caso, this
dentro da função não se refere ao objeto global (como window
), mas sim será undefined
.
- Proíbe a duplicação de parâmetros: No modo estrito, não é permitido ter parâmetros com nomes duplicados em uma função. Isso ajuda a evitar confusão e comportamentos inesperados em funções com múltiplos parâmetros.
Exemplo:
'use strict';
function soma(a, a) { // Erro: Parâmetros duplicados não são permitidos
return a + a;
}
O JavaScript irá lançar um erro, pois a função soma
tem parâmetros duplicados.
-
Desabilita o uso do
with
: Owith
é uma estrutura de controle em JavaScript que pode causar confusão e erros, pois altera o escopo de variáveis de maneira imprevisível. O modo estrito desabilita o uso dewith
, forçando uma maneira mais clara e previsível de escrever o código. -
Evita a criação de propriedades no objeto global: Sem o
use strict
, você poderia acidentalmente criar propriedades no objeto global. Com ouse strict
, isso não é permitido.
Exemplo:
'use strict';
function exemplo() {
x = 10; // Erro: 'x' não foi declarado antes de ser usado.
}
exemplo();
Aqui, a variável x
não pode ser criada sem ser explicitamente declarada dentro de uma função, o que evita a poluição do escopo global.
Quando usar 'use strict'?
Você deve usar 'use strict' sempre que possível, já que ele ajuda a detectar erros que poderiam ser difíceis de encontrar em JavaScript tradicional. No entanto, como o modo estrito pode quebrar comportamentos antigos em alguns casos, você deve estar ciente de que pode haver problemas de compatibilidade se você estiver trabalhando com código legado ou bibliotecas que não foram escritas com o 'use strict' em mente.
O melhor é sempre começar a usar 'use strict' desde o início de um novo projeto, ou adicionar ao código existente gradualmente, testando seu impacto.
Exemplo de uso de 'use strict' em uma função:
function minhaFuncao() {
'use strict';
let nome = 'Maria';
console.log(nome); // Funciona normalmente
}
minhaFuncao();
Conclusão
Usar o modo estrito do JavaScript com a diretiva 'use strict'
é uma boa prática de segurança e qualidade de código. Ele ajuda a evitar erros comuns, melhora a legibilidade do código e oferece maior controle sobre o comportamento do código. Ao adotar essa prática em seu desenvolvimento JavaScript, você estará criando aplicações mais seguras e fáceis de depurar.
A importância de usar 'use strict' para a segurança e manutenção do código JavaScript
'use strict' é uma prática simples que melhora a qualidade e a segurança do código JavaScript. Ao usá-lo, você pode evitar problemas como declarações de variáveis globais acidentais e facilitar a depuração de seu código. Começar a usar 'use strict'
em novos projetos pode ajudar a evitar erros e promover boas práticas de programação.
Algumas aplicações:
- Impor boas práticas de codificação, como a declaração de variáveis.
- Melhorar a segurança de aplicações, evitando que erros de escopo afetem o código.
- Facilitar a depuração de código, garantindo que funções não usem valores globais inesperados.
- Obter mais controle sobre o comportamento do JavaScript, tornando o código mais previsível e estável.
Dicas para quem está começando
- Comece a usar
'use strict'
em todos os novos arquivos de código JavaScript para evitar erros ocultos. - Teste seu código com e sem
'use strict'
para ver como o modo estrito ajuda a capturar erros. - Se estiver trabalhando com código legado, ative
'use strict'
gradualmente e observe se surgem problemas de compatibilidade. - Fique atento aos erros que podem surgir ao usar
'use strict'
, como a tentativa de modificar o objetowindow
ou declarar variáveis sem o uso delet
,const
ouvar
.
Contribuições de Fernando Antunes