Avatar ·

¿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. <<>>

¿Qué es "use strict" y por qué es necesario?