Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

El modo estricto de JavaScript: qué es y para qué sirve

Modo-Estricto-JavaScriptUna forma de trabajar con JavaScript bastante común en código profesional es utilizar siempre por defecto el Modo Estricto de este lenguaje. Se trata de una variante del lenguaje que es menos permisiva con ciertos tipos de comportamientos en el código y que hace que éste se comporte de un modo más estricto, como su propio nombre indica.

Por ejemplo, un error típico en JavaScript es utilizar una variable y confundirnos en su nombre, algo que no produce un error del intérprete pero que, sin duda, puede producir errores graves de lógica en nuestra aplicación. Consideremos el siguiente fragmento para verlo:

var miVariable = 1;

function test() {
	mivariable = 5;
	alert(miVariable);
}

test();

¿Qué crees que mostrará esto por pantalla? Fíjate bien antes de contestar...

En este caso obtendremos el valor 1. El motivo es que en la asignación que hay dentro de la función nos hemos equivocado y hemos cambiado la "V" mayúscula del nombre original de la variable, por una "v" minúscula, así que son dos variables diferentes. En este caso JavaScript no se queja y simplemente declara otra variable distinta cuando hacemos la asignación. Esto claramente produce errores de lógica, aunque el intérprete del lenguaje no "se queje".

Para evitar este problema podemos usar el modo estricto simplemente añadiendo esta línea al principio de nuestro archivo de código:

"use strict";

Ahora el intérprete de JavaScript se comportará en modo estricto y no permitirá esto entre muchas cosas. Al intentar el código anterior en modo estricto obtendremos un error que nos dice que la variable "mivariable" no está definida, y por lo tanto no la podemos asignar.

Este es solo un ejemplo muy básico, pero revelador, de este modo. En realidad hay muchas otras cosas que se fuerzan en nuestro código si establecemos este modo de funcionamiento.

También se puede usar este modo en una única función en lugar de en el código completo. Es decir, se pueden tener mezcladas en el mismo archivo de código regiones estrictas y convencionales, sin ningún problema.

Aunque el hecho de que JavaScript sea un lenguaje muy flexible es una gran ventaja, lo cierto es que es un arma de doble filo y en muchas ocasiones es contraproducente y hace que cometamos muchos errores difíciles de detectar.

Por ello, la mayor parte de los programadores profesionales utilizan el modo estricto a la hora de escribir código JavaScript, asegurándose así que utilizan de manera adecuada el lenguaje y evitándose muchos problemas. Tú también deberías hacerlo si no lo estás haciendo ya.

En este vídeo perteneciente a mi curso "Técnicas avanzadas para programadores JavaScript", explico con bastante detalle este modo de funcionamiento y los principales casos en los que juega una diferencia importante.

Puedes encontrar una lista detallada del funcionamiento del modo estricto aquí.

Y tú ¿conocías el modo estricto? ¿Ya lo utilizabas? ¿Lo utilizas a menudo? Déjanos tus comentarios abajo.

José M. Alarcón Aguín Fundador de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Microsoft lo ha reconocido como MVP (Most Valuable Professional) en desarrollo web desde el año 2004 hasta la actualidad. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José M. Alarcón Aguín
Archivado en: Desarrollo Web

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Comentarios (2) -

En realidad cuando dices: "ue nos dice que la variable "miVariable" no está definida" ... ahí sería "mivariable" ... la que no está definida es la que va con mayúscula. Lo comento porque justamente es lo que quieres hacer notar.

Responder

José Manuel Alarcón
José Manuel Alarcón

Upps, errata corregida, gracias. En el vídeo se ve claramente de todos modos.

Saludos.

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.