ExpertiDict

JavaScript · Intermediário · Inglês · Técnico

strict mode

/stɹɪkt moʊd/substantivo

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 global

Exemplos

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

Veja também

Todos os termos de JavaScript