JavaScript · Intermediário · Inglês · Técnico
strict mode
Variante da linguagem, ativada com 'use strict', que transforma erros silenciosos em exceções e proíbe construções problemáticas, como variáveis globais acidentais. Módulos ES já rodam nele.
Onde usar
Em código novo quase sempre já está ativo por causa dos módulos ES. Em arquivos CommonJS aparece no topo como 'use strict' e muda o this de funções soltas para undefined.
Em código
'use strict';
function f() { return this; }
console.log(f()); // undefined
x = 10; // ReferenceError
// sem strict: x viraria globalExemplos
Modules run in strict mode by default.
Módulos rodam em strict mode por padrão.
In strict mode, assigning to an undeclared variable throws.
No strict mode, atribuir a uma variável não declarada lança erro.
Cuidado
Achar que é preciso declarar 'use strict' em módulos ES, que já são estritos automaticamente.
Sinônimos
modo estrito
Antônimos
sloppy mode