O que é o Modo Strict em JavaScript?

Entendendo o Modo Estrito, com Exemplos

Technical GeekGeek técnico
6 de Abril, 2020 – 4 min ler

Introduzido em ECMAScript 5, É a forma de optar pela variante restrita do JavaScript. O JavaScript é uma linguagem de programação leve interpretada ou compilada em JIT com funções de primeira classe.

O objectivo do literal “use strict” é indicar que o código deve ser executado no “modo strict”. Ajuda-nos a identificar alguns bugs escondidos. Não podemos usar variáveis não declaradas no modo strict.

    >li>O modo strict elimina alguns erros silenciosos de JavaScript alterando-os para lançar erros.

  • O modo restrito corrige erros que dificultam aos motores JavaScript a realização de optimizações: o código do modo restrito pode, por vezes, ser feito para correr mais depressa do que o código idêntico que não é modo restrito.
  • O modo restrito proíbe alguma sintaxe susceptível de ser definida em futuras versões de ECMAScript.
  • Previne, ou lança erros, quando são tomadas acções relativamente “inseguras” (tais como obter acesso ao objecto global).
  • Desactiva características que são confusas ou mal pensadas.
  • Modo restrito facilita a escrita de JavaScript.

Todos os browsers modernos suportam “use strict” excepto IE 9 e lower.

Strict Mode Invocation

Um modo restrito é aplicável a scripts inteiros ou a funções individuais. Não podemos aplicá-lo às declarações de bloco incluídas em {} chaves. Se tentarmos utilizá-lo dentro de blocos, não terá qualquer efeito.

Aplicar o modo ‘estrito’ a todo o script :

No exemplo de objecto congelado acima mencionado, A utilização do modo estrito resultará em erro de tempo de execução, se tentarmos alterá-lo. No entanto, não é o caso sem a utilização de uma declaração rigorosa.

utilizar declaração estrita eliminou alguns erros silenciosos de JavaScript, alterando-os para lançar erros. É bastante útil quando estamos a depurar qualquer aplicação web.

Modo restrito para scripts

  • utilizar declaração ‘estrita’

    >li>sem ‘estrito

h2>Modo restrito para funções Javascript

“use strict” também pode ser usado dentro de funções.

no exemplo acima, definimos duas variáveis sem a declararmos: x e y. Uma vez que acrescentámos a declaração “use strict” dentro da função, portanto apenas y = 22, lançará a excepção. “x = 11” não irá lançar qualquer excepção.

Isto significa que, no caso acima, o âmbito de “use strict” é obrigado a funcionar apenas e não todo o ficheiro de script.

Conclusion

  • O modo strict torna mais fácil escrever JavaScript “seguro”. Muda a “sintaxe má” anteriormente aceite para erros reais. Por exemplo, em JavaScript regular, o nome da variável cria a nova variável global. No modo estrito, resulta em erro, tornando impossível a criação acidental da variável global.
  • li>No JavaScript padrão, o programador não receberá qualquer feedback de erro atribuindo valores às propriedades não escrevíveis. No modo estrito, qualquer atribuição à propriedade não escrevível, uma propriedade apenas getter, uma propriedade inexistente, a variável inexistente, ou o objecto inexistente, lançará um erro.

  • Palavras-chave reservadas para futuras versões JavaScript não podem ser utilizadas como os nomes das variáveis no modo estrito. Essas palavras-chave são as seguintes: implementos, interface, let, embalagem, privado, protegido, público, estático, yield.
  • No caso de estarmos a utilizar a consola do navegador para testar qualquer funcionalidade, por defeito o modo estrito não é aplicado. Precisamos de adicionar manualmente usando ‘use strict’.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *