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.