Avatar ·

O que "use strict" faz em JavaScript e por que é necessário? Explicação para iniciantes

Olá a todos! Comecei a estudar JavaScript e me deparei com uma construção estranha: `"use strict";`. Vi isso no início de alguns scripts e funções, mas não entendo para que serve e o que faz. Aqui está um exemplo de código que funciona sem `"use strict"`: ```javascript x = 10; // Não declarei a variável com var, let ou const console.log(x); // Exibe 10 ``` Mas quando adiciono `"use strict"`: ```javascript "use strict"; x = 10; // Erro: x is not defined console.log(x); ``` Por que no primeiro caso o código funciona e no segundo dá erro? Ouvi dizer que `"use strict"" torna o código "mais seguro", mas não entendo em que consiste essa segurança. E outra pergunta: preciso usá-lo sempre? Será que ele só deixa o código mais lento? Expliquem, por favor, para iniciantes: o que é essa diretiva, como funciona e por que todos os desenvolvedores experientes a recomendam? De preferência com exemplos para ficar claro. <<>>

O que é "use strict" e para que serve?