`modo estricto` en JavaScript

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

YouTube Video