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