¿Qué hace "use strict" en JavaScript y por qué es necesario? Explicación para principiantes
¡Hola a todos! Acabo de empezar a aprender JavaScript y me encontré con una construcción extraña: `"use strict";`. La he visto al principio de algunos scripts y funciones, pero no entiendo para qué sirve ni qué hace.
Aquí hay un ejemplo de código que funciona sin `"use strict"`:
```javascript
x = 10; // No declaré la variable con var, let o const
console.log(x); // Muestra 10
```
Pero cuando agrego `"use strict"`:
```javascript
"use strict";
x = 10; // Error: x is not defined
console.log(x);
```
¿Por qué en el primer caso el código funciona y en el segundo da un error? He oído que `"use strict"` hace el código "más seguro", pero no entiendo en qué consiste exactamente esa seguridad. Y otra pregunta: ¿siempre hay que usarlo? ¿Quizás solo ralentiza el código?
Explíquenme, por favor, para principiantes: ¿qué es esta directiva, cómo funciona y por qué la recomiendan todos los desarrolladores experimentados? Preferiblemente con ejemplos para que quede claro.
<<>>