`modo estricto` en JavaScript
Este artículo explica el modo estricto
en JavaScript.
YouTube Video
modo estricto
en JavaScript
En JavaScript, el modo estricto
es una característica introducida en ECMAScript 5 (ES5) para hacer el código más seguro y prevenir errores. Al usar el modo estricto, se deshabilitan ciertas sintaxis permisivas y características potencialmente arriesgadas, y se aplican comprobaciones de errores más estrictas. Esto permite a los desarrolladores evitar comportamientos inesperados y escribir código más robusto y de alto rendimiento.
Activando el modo estricto
Para habilitar el modo estricto
, agrega la siguiente directiva al principio de tu código.
1"use strict";
Esta declaración puede aplicarse a todo el script o a nivel de función. Por ejemplo, si se aplica a todo el script, puedes escribirlo de la siguiente manera:.
1"use strict";
2
3function example() {
4 // Strict mode is applied
5}
Si se aplica por función, puedes escribirlo de la siguiente manera:.
1function example() {
2 "use strict";
3 // Strict mode is applied only within this function
4}
El modo estricto
se aplica por ámbito, por lo que también puede activarse dentro de una función. Además, dado que el modo estricto
está habilitado por defecto en los módulos, no es necesario declararlo individualmente dentro del módulo.
Características clave y diferencias del modo estricto
Usar el modo estricto
cambia algunos de los comportamientos predeterminados de JavaScript. Aquí están los principales ejemplos.
Prohibición de variables globales implícitas
En JavaScript habitual, omitir la declaración de variables las define automáticamente como globales, pero en el modo estricto
, esto resulta en un error.
1"use strict";
2
3x = 10; // Error: x is not defined
Las variables siempre deben declararse usando var
, let
o const
.
Restricción en el uso de palabras reservadas
Las posibles palabras reservadas futuras de JavaScript (por ejemplo, implements
, interface
, package
, etc.) no pueden usarse como nombres de variables o funciones en el modo estricto
.
1"use strict";
2
3var package = "strict mode"; // Error: Unexpected strict mode reserved word
Cambios en el comportamiento de this
En el modo normal, this
dentro de una función se refiere al objeto global (por ejemplo, window
en navegadores), pero en el modo estricto
, this
es undefined
.
1"use strict";
2
3function example() {
4 console.log(this); // undefined
5}
6
7example();
Esto ayuda a prevenir errores causados por el uso incorrecto de this
.
Prohibición de eliminar propiedades no eliminables
En el modo normal, intentar eliminar propiedades no eliminables de un objeto se ignora sin error, pero en el modo estricto
, lanza un error.
1"use strict";
2
3var obj = Object.freeze({name: "John"});
4delete obj.name; // Error: Cannot delete property 'name'
Prohibición de nombres de parámetros duplicados
En el modo normal, se permite declarar parámetros con el mismo nombre varias veces, pero en el modo estricto
, causa un error.
1"use strict";
2
3function example(a, a) {
4 // Error: Duplicate parameter name not allowed in this context
5}
Prohibición de la declaración with
La sentencia with
puede reducir la legibilidad del código y está prohibida en el modo estricto
.
1"use strict";
2
3with (Math) {
4 // Error: Strict mode code may not include a with statement
5}
Ventajas del modo estricto
El modo estricto
mejora la seguridad y eficiencia del código de varias maneras.
Detección de errores mejorada
En el modo estricto
, se detectan errores que se pasan por alto en el modo normal, permitiendo a los desarrolladores detectar posibles errores con anticipación. Por ejemplo, evita la creación de variables globales no intencionadas y el uso indebido de palabras reservadas.
Mejora del rendimiento
En el modo estricto
, los motores de JavaScript pueden optimizar el código de manera más eficiente. Como resultado, la velocidad de ejecución puede mejorar.
Seguridad del código mejorada
El manejo de this
se vuelve más estricto, lo que evita el acceso a objetos globales innecesarios y mejora la seguridad del código. Además, la restricción del uso de palabras reservadas evita conflictos futuros con palabras clave.
Compatibilidad y consideraciones
El modo estricto
se introdujo en ECMAScript 5 y no es compatible con los navegadores lanzados antes de esa versión. Sin embargo, habilitar el modo estricto
es simplemente ignorado por navegadores no compatibles, sin romper el script. Por lo tanto, generalmente se puede usar de manera segura.
Al introducir el modo estricto
en un proyecto grande existente, es crucial realizar pruebas exhaustivas para evitar errores inesperados.
Conclusión
El modo estricto
de JavaScript es una característica muy útil para mejorar la calidad del código. En particular, para proyectos a gran escala o desarrollos en equipo, se recomienda usar activamente el modo estricto para prevenir errores y fallos inesperados, y mejorar la legibilidad y mantenibilidad del código.
Entender y aplicar correctamente el modo estricto
ayuda a evitar trampas de JavaScript y permite un desarrollo más seguro y eficiente.
Puedes seguir el artículo anterior utilizando Visual Studio Code en nuestro canal de YouTube. Por favor, también revisa nuestro canal de YouTube.